(This page was automatically generated by the tools in the opsboy project on 17:39:22 26-Mar-2017 GMT.)

Commit | Testing Time | Unexpected Failures |
Expected Failures |
Files | Tests | Elapsed Time |
---|---|---|---|---|---|---|

edd50590 | 2016-07-15 21:58:31 GMT | 0 | 195 | 26 | 3574 | 751 sec |

File | Name | Details |
---|---|---|

balancer.t | TEST 16: https (keepalive) - status code ok |
got: '502' expected: '200' |

balancer.t | TEST 16: https (keepalive) - response_body - response is expected (repeated req 0, req 0) |
got: '<html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.9.15 (no pool)</center> </body> </html> ' expected: 'ok' |

balancer.t | TEST 16: https (keepalive) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:15:38 [error] 16047\#0: *1 peer closed connection in SSL handshake while SSL handshaking to upstream, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", upstream: \"https://127.0.0.1:1234/back\", host: \"localhost\"" (req 0) | |

balancer.t | TEST 16: https (keepalive) - status code ok |
got: '502' expected: '200' |

balancer.t | TEST 16: https (keepalive) - response_body - response is expected (repeated req 1, req 0) |
got: '<html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.9.15 (no pool)</center> </body> </html> ' expected: 'ok' |

balancer.t | TEST 16: https (keepalive) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:15:39 [error] 16047\#0: *4 peer closed connection in SSL handshake while SSL handshaking to upstream, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", upstream: \"https://127.0.0.1:1234/back\", host: \"localhost\"" (req 1) | |

balancer.t | TEST 17: https (no keepalive) - status code ok |
got: '502' expected: '200' |

balancer.t | TEST 17: https (no keepalive) - response_body - response is expected (repeated req 0, req 0) |
got: '<html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.9.15 (no pool)</center> </body> </html> ' expected: 'ok' |

balancer.t | TEST 17: https (no keepalive) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:15:52 [error] 16102\#0: *1 peer closed connection in SSL handshake while SSL handshaking to upstream, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", upstream: \"https://127.0.0.1:1234/back\", host: \"localhost\"" (req 0) | |

balancer.t | TEST 17: https (no keepalive) - status code ok |
got: '502' expected: '200' |

balancer.t | TEST 17: https (no keepalive) - response_body - response is expected (repeated req 1, req 0) |
got: '<html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.9.15 (no pool)</center> </body> </html> ' expected: 'ok' |

balancer.t | TEST 17: https (no keepalive) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:15:52 [error] 16102\#0: *4 peer closed connection in SSL handshake while SSL handshaking to upstream, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", upstream: \"https://127.0.0.1:1234/back\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 8: create OCSP request (empty string cert chain) - pattern "failed to create OCSP request: d2i_X509_bio() failed" should match a line in error.log (req 0) | |

ocsp.t | TEST 8: create OCSP request (empty string cert chain) - pattern "failed to create OCSP request: d2i_X509_bio() failed" should match a line in error.log (req 1) | |

ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "failed to get OCSP responder: issuer certificate not next to leaf" should match a line in error.log (req 0) | |

ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "failed to get OCSP responder: issuer certificate not next to leaf" should match a line in error.log (req 1) | |

ocsp.t | TEST 7: create OCSP request (buffer too small) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 7: create OCSP request (buffer too small) - pattern "failed to create OCSP request: output buffer too small: 68 > 67" should match a line in error.log (req 0) | |

ocsp.t | TEST 7: create OCSP request (buffer too small) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 7: create OCSP request (buffer too small) - pattern "failed to create OCSP request: output buffer too small: 68 > 67" should match a line in error.log (req 1) | |

ocsp.t | TEST 5: get OCSP responder (truncated) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "OCSP url found: http:/," should match a line in error.log (req 0) | |

ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "still get an error: truncated" should match a line in error.log (req 0) | |

ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:17:59 [error] 16578\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 5: get OCSP responder (truncated) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "OCSP url found: http:/," should match a line in error.log (req 1) | |

ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "still get an error: truncated" should match a line in error.log (req 1) | |

ocsp.t | TEST 5: get OCSP responder (truncated) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:00 [error] 16578\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 10: validate good OCSP response - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 10: validate good OCSP response - pattern "OCSP response validation ok" should match a line in error.log (req 0) | |

ocsp.t | TEST 10: validate good OCSP response - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:02 [error] 16589\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 10: validate good OCSP response - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 10: validate good OCSP response - pattern "OCSP response validation ok" should match a line in error.log (req 1) | |

ocsp.t | TEST 10: validate good OCSP response - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:03 [error] 16589\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - pattern "failed to get OCSP responder: no issuer certificate in chain" should match a line in error.log (req 0) | |

ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - pattern "failed to get OCSP responder: no issuer certificate in chain" should match a line in error.log (req 1) | |

ocsp.t | TEST 1: get OCSP responder (good case) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 1: get OCSP responder (good case) - pattern "OCSP url found: http://127.0.0.1:8888/ocsp?foo=1," should match a line in error.log (req 0) | |

ocsp.t | TEST 1: get OCSP responder (good case) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:08 [error] 16611\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 1: get OCSP responder (good case) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 1: get OCSP responder (good case) - pattern "OCSP url found: http://127.0.0.1:8888/ocsp?foo=1," should match a line in error.log (req 1) | |

ocsp.t | TEST 1: get OCSP responder (good case) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:09 [error] 16611\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 6: create OCSP request (good) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 6: create OCSP request (good) - pattern "OCSP request created with length 68" should match a line in error.log (req 0) | |

ocsp.t | TEST 6: create OCSP request (good) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:11 [error] 16622\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 6: create OCSP request (good) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 6: create OCSP request (good) - pattern "OCSP request created with length 68" should match a line in error.log (req 1) | |

ocsp.t | TEST 6: create OCSP request (good) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:12 [error] 16622\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "OCSP response validation ok" should match a line in error.log (req 0) | |

ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:14 [error] 16633\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "OCSP response validation ok" should match a line in error.log (req 1) | |

ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:15 [error] 16633\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 15: fail to validate OCSP response - OCSP response returns revoked status - pattern "failed to validate OCSP response: certificate status "revoked" in the OCSP response" should match a line in error.log (req 0) | |

ocsp.t | TEST 15: fail to validate OCSP response - OCSP response returns revoked status - pattern "failed to validate OCSP response: certificate status "revoked" in the OCSP response" should match a line in error.log (req 1) | |

ocsp.t | TEST 16: good status req from client - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 16: good status req from client - pattern "ocsp status resp set ok: nil," should match a line in error.log (req 0) | |

ocsp.t | TEST 16: good status req from client - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:20 [error] 16655\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 16: good status req from client - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 16: good status req from client - pattern "ocsp status resp set ok: nil," should match a line in error.log (req 1) | |

ocsp.t | TEST 16: good status req from client - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:21 [error] 16655\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 17: no status req from client - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 17: no status req from client - pattern "ocsp status resp set ok: no status req," should match a line in error.log (req 0) | |

ocsp.t | TEST 17: no status req from client - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:23 [error] 16666\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 17: no status req from client - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 17: no status req from client - pattern "ocsp status resp set ok: no status req," should match a line in error.log (req 1) | |

ocsp.t | TEST 17: no status req from client - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:24 [error] 16666\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 12: validate good OCSP response - no certs in response - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "OCSP response validation ok" should match a line in error.log (req 0) | |

ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:26 [error] 16677\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 12: validate good OCSP response - no certs in response - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "OCSP response validation ok" should match a line in error.log (req 1) | |

ocsp.t | TEST 12: validate good OCSP response - no certs in response - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:27 [error] 16677\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - pattern "failed to create OCSP request: no issuer certificate in chain" should match a line in error.log (req 0) | |

ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - pattern "failed to create OCSP request: no issuer certificate in chain" should match a line in error.log (req 1) | |

ocsp.t | TEST 2: get OCSP responder (not found) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 2: get OCSP responder (not found) - pattern "OCSP responder not found" should match a line in error.log (req 0) | |

ocsp.t | TEST 2: get OCSP responder (not found) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:32 [error] 16699\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ocsp.t | TEST 2: get OCSP responder (not found) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 2: get OCSP responder (not found) - pattern "OCSP responder not found" should match a line in error.log (req 1) | |

ocsp.t | TEST 2: get OCSP responder (not found) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:18:32 [error] 16699\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - pattern "failed to validate OCSP response: no issuer certificate in chain" should match a line in error.log (req 0) | |

ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - pattern "failed to validate OCSP response: no issuer certificate in chain" should match a line in error.log (req 1) | |

ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "failed to validate OCSP response: OCSP_basic_verify() failed" should match a line in error.log (req 0) | |

ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed ' |

ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "failed to validate OCSP response: OCSP_basic_verify() failed" should match a line in error.log (req 1) | |

re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |

re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |

re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |

re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |

re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |

re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |

request.t | TEST 7: ngx.req.start_time() - response_body - response is expected (repeated req 0, req 0) |
got: "true\x{0a}>= 0.099: true\x{0a}< 0.11: false\x{0a}" length: 34 expected: "true\x{0a}>= 0.099: true\x{0a}< 0.11: true\x{0a}" length: 33 strings begin to differ at char 29 (line 3 column 9) |

request.t | TEST 7: ngx.req.start_time() - response_body - response is expected (repeated req 1, req 0) |
got: "true\x{0a}>= 0.099: true\x{0a}< 0.11: false\x{0a}" length: 34 expected: "true\x{0a}>= 0.099: true\x{0a}< 0.11: true\x{0a}" length: 33 strings begin to differ at char 29 (line 3 column 9) |

ssl.t | TEST 8: set DER cert chain - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 8: set DER cert chain - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:05 [error] 18154\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 8: set DER cert chain - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 8: set DER cert chain - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:06 [error] 18154\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 10: tls version - SSLv3 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 10: tls version - SSLv3 - pattern "got TLS1 version: SSLv3," should match a line in error.log (req 0) | |

ssl.t | TEST 10: tls version - SSLv3 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:08 [error] 18165\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 10: tls version - SSLv3 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 10: tls version - SSLv3 - pattern "got TLS1 version: SSLv3," should match a line in error.log (req 1) | |

ssl.t | TEST 10: tls version - SSLv3 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:09 [error] 18165\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - pattern "read SNI name from Lua: nil, type: nil" should match a line in error.log (req 0) | |

ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:11 [error] 18176\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - pattern "read SNI name from Lua: nil, type: nil" should match a line in error.log (req 1) | |

ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:12 [error] 18176\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 1: clear certs - pattern "sslv3 alert handshake failure" should match a line in error.log (req 0) | |

ssl.t | TEST 1: clear certs - pattern "sslv3 alert handshake failure" should match a line in error.log (req 1) | |

ssl.t | TEST 11: tls version - TLSv1 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 11: tls version - TLSv1 - pattern "got TLS1 version: TLSv1," should match a line in error.log (req 0) | |

ssl.t | TEST 11: tls version - TLSv1 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:17 [error] 18198\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 11: tls version - TLSv1 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 11: tls version - TLSv1 - pattern "got TLS1 version: TLSv1," should match a line in error.log (req 1) | |

ssl.t | TEST 11: tls version - TLSv1 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:18 [error] 18198\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "read SNI name from Lua: test.com" should match a line in error.log (req 0) | |

ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:20 [error] 18209\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "read SNI name from Lua: test.com" should match a line in error.log (req 1) | |

ssl.t | TEST 3: read SNI name via ssl.server_name() - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:21 [error] 18209\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - pattern "Using IPv6 address: 0.0.0.1" should match a line in error.log (req 0) | |

ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:23 [error] 18222\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - pattern "Using IPv6 address: 0.0.0.1" should match a line in error.log (req 1) | |

ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:24 [error] 18222\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 16: parse PEM cert and key to cdata - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 16: parse PEM cert and key to cdata - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:26 [error] 18233\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 16: parse PEM cert and key to cdata - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 16: parse PEM cert and key to cdata - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:27 [error] 18233\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 13: tls version - TLSv1.2 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 13: tls version - TLSv1.2 - pattern "got TLS1 version: TLSv1.2," should match a line in error.log (req 0) | |

ssl.t | TEST 13: tls version - TLSv1.2 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:29 [error] 18244\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 13: tls version - TLSv1.2 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 13: tls version - TLSv1.2 - pattern "got TLS1 version: TLSv1.2," should match a line in error.log (req 1) | |

ssl.t | TEST 13: tls version - TLSv1.2 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:30 [error] 18244\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - pattern "Using IPv4 address: 127.0.0.1" should match a line in error.log (req 0) | |

ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:32 [error] 18255\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - pattern "Using IPv4 address: 127.0.0.1" should match a line in error.log (req 1) | |

ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:33 [error] 18255\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 15: read PEM key chain but set DER key chain - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 15: read PEM key chain but set DER key chain - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:35 [error] 18266\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 15: read PEM key chain but set DER key chain - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 15: read PEM key chain but set DER key chain - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:36 [error] 18266\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 17: parse PEM cert and key to cdata (bad cert 0 in the chain) - pattern "(?^:\[error\] .*? failed to parse pem cert: PEM_read_bio_X509_AUX\(\) failed)" should match a line in error.log (req 0) | |

ssl.t | TEST 17: parse PEM cert and key to cdata (bad cert 0 in the chain) - pattern "(?^:\[error\] .*? failed to parse pem cert: PEM_read_bio_X509_AUX\(\) failed)" should match a line in error.log (req 1) | |

ssl.t | TEST 9: read PEM cert chain but set DER cert chain - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 9: read PEM cert chain but set DER cert chain - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:41 [error] 18288\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 9: read PEM cert chain but set DER cert chain - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 9: read PEM cert chain but set DER cert chain - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:42 [error] 18288\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "(?^:Using unix socket file .*?nginx\.sock)" should match a line in error.log (req 0) | |

ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:44 [error] 18299\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "(?^:Using unix socket file .*?nginx\.sock)" should match a line in error.log (req 1) | |

ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:45 [error] 18299\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 19: parse PEM cert and key to cdata (bad priv key) - pattern "(?^:\[error\] .*? failed to parse pem key: PEM_read_bio_PrivateKey\(\) failed)" should match a line in error.log (req 0) | |

ssl.t | TEST 19: parse PEM cert and key to cdata (bad priv key) - pattern "(?^:\[error\] .*? failed to parse pem key: PEM_read_bio_PrivateKey\(\) failed)" should match a line in error.log (req 1) | |

ssl.t | TEST 12: tls version - TLSv1.1 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 12: tls version - TLSv1.1 - pattern "got TLS1 version: TLSv1.1," should match a line in error.log (req 0) | |

ssl.t | TEST 12: tls version - TLSv1.1 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:50 [error] 18321\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 12: tls version - TLSv1.1 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 12: tls version - TLSv1.1 - pattern "got TLS1 version: TLSv1.1," should match a line in error.log (req 1) | |

ssl.t | TEST 12: tls version - TLSv1.1 - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:51 [error] 18321\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 18: parse PEM cert and key to cdata (bad cert 2 in the chain) - pattern "(?^:\[error\] .*? failed to parse pem cert: PEM_read_bio_X509\(\) failed)" should match a line in error.log (req 0) | |

ssl.t | TEST 18: parse PEM cert and key to cdata (bad cert 2 in the chain) - pattern "(?^:\[error\] .*? failed to parse pem cert: PEM_read_bio_X509\(\) failed)" should match a line in error.log (req 1) | |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - grep_error_log_out (req 0) |
@@ -1,4 +0,0 @@ -http lua semaphore new -http lua semaphore wait -http lua semaphore wait yielding -http lua semaphore post ' |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - pattern "ssl cert by lua done" should match a line in error.log (req 0) | |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:56 [error] 18343\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ connected: 1 -ssl handshake: boolean +failed to do SSL handshake: handshake failed ' |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - grep_error_log_out (req 1) |
@@ -1,4 +0,0 @@ -http lua semaphore new -http lua semaphore wait -http lua semaphore wait yielding -http lua semaphore post ' |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - pattern "ssl cert by lua done" should match a line in error.log (req 1) | |

ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:56 [error] 18343\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

ssl.t | TEST 2: set DER cert and private key - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 2: set DER cert and private key - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:59 [error] 18354\#0: *1 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0) | |

ssl.t | TEST 2: set DER cert and private key - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1,2 @@ connected: 1 -ssl handshake: userdata +failed to do SSL handshake: handshake failed -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |

ssl.t | TEST 2: set DER cert and private key - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 23:25:59 [error] 18354\#0: *4 peer closed connection in SSL handshake, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) | |

time.t | TEST 1: ngx.now() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ true >= 0.099: true -< 0.11: true +< 0.11: false ' |