From 5aa647d495f3e1bea45ff402d9b3407651cccc46 Mon Sep 17 00:00:00 2001 From: liwanlei Date: Mon, 3 Sep 2018 21:27:29 +0800 Subject: [PATCH] =?UTF-8?q?=C2=99=E5=AF=B9=E9=83=A8=E5=88=86=E5=9C=B0?= =?UTF-8?q?=E6=96=B9=E8=BF=9B=E8=A1=8C=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config_T.py | 3 +- log/jiekou-2018-08-10-09.log | 10 - log/jiekou-2018-09-03-21.log | 728 +++++++++++++++++++++++++++ python-hessian-1.0.2.zip | Bin 98990 -> 0 bytes run_http_html.py | 6 +- testCase/case.py | 85 +++- test_Report/201806211302-result.html | 85 ---- test_Report/201809032125-result.html | 130 +++++ 8 files changed, 925 insertions(+), 122 deletions(-) delete mode 100644 log/jiekou-2018-08-10-09.log create mode 100644 log/jiekou-2018-09-03-21.log delete mode 100644 python-hessian-1.0.2.zip delete mode 100644 test_Report/201806211302-result.html create mode 100644 test_Report/201809032125-result.html diff --git a/config/config_T.py b/config/config_T.py index ed6881e..afcebc4 100644 --- a/config/config_T.py +++ b/config/config_T.py @@ -4,4 +4,5 @@ @time: 2018/4/12 14:17 """ Dingtalk_access_token="" -TestPlanUrl='' \ No newline at end of file +TestPlanUrl='' +Config_Try_Num=3 \ No newline at end of file diff --git a/log/jiekou-2018-08-10-09.log b/log/jiekou-2018-08-10-09.log deleted file mode 100644 index 3f6d65d..0000000 --- a/log/jiekou-2018-08-10-09.log +++ /dev/null @@ -1,10 +0,0 @@ -[2018-08-10 09:01:33.547803] INFO: jiekou: 当前模块 requests封装 -[2018-08-10 09:01:33.548803] INFO: jiekou: 全部args参数参数信息 , () -[2018-08-10 09:01:33.549803] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-08-10 09:01:33.704812] INFO: jiekou: 当前模块 生成数据驱动所用数据 -[2018-08-10 09:01:33.705812] INFO: jiekou: 全部args参数参数信息 , () -[2018-08-10 09:01:33.705812] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-08-10 09:01:33.705812] INFO: jiekou: 当前模块 解析测试用例文件 -[2018-08-10 09:01:33.706812] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\xuesheng\\jiekou-python3\\test_case\\case.xlsx',) -[2018-08-10 09:01:33.706812] INFO: jiekou: 全部kwargs参数信息 , {} -[2018-08-10 09:01:33.706812] INFO: jiekou: 打开测试用例失败,原因是: diff --git a/log/jiekou-2018-09-03-21.log b/log/jiekou-2018-09-03-21.log new file mode 100644 index 0000000..7553066 --- /dev/null +++ b/log/jiekou-2018-09-03-21.log @@ -0,0 +1,728 @@ +[2018-09-03 21:00:14.979081] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:00:14.981081] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:14.981081] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:15.000082] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:00:15.001082] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:00:15.002082] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:15.014083] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:00:15.015083] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:00:15.016083] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:15.020083] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:00:15.020083] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:15.021083] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:15.063086] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:00:15.064086] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:00:15.064086] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:15.065086] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:00:15.095087] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:00:15.096087] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:00:15.097087] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:15.097087] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:00:15.448108] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:00:15.450108] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:00:15.451108] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:15.453108] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:00:15.455108] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:00:48.337989] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:00:48.338989] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:48.339989] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:48.358990] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:00:48.359990] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:00:48.360990] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:48.374991] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:00:48.375991] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:00:48.375991] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:48.379991] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:00:48.380991] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:48.381991] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:00:48.421994] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:00:48.422994] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:00:48.423994] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:48.424994] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:00:48.465996] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:00:48.466996] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:00:48.467996] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:48.467996] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:00:48.822016] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:00:48.823016] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:00:48.823016] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:00:48.824017] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:00:48.825017] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:01:42.977114] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:01:42.978114] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:01:42.979114] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:01:42.998115] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:01:42.999115] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:01:43.000115] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:01:43.013116] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:01:43.014116] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:01:43.014116] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:01:43.018116] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:01:43.019116] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:01:43.020116] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:01:43.055118] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:01:43.056118] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:01:43.057118] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:01:43.058119] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:01:43.093121] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:01:43.094121] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:01:43.094121] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:01:43.095121] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:01:43.454141] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:01:43.455141] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:01:43.456141] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:01:43.457141] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:01:43.457141] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:03:05.523835] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:03:05.524835] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:05.525835] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:05.544837] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:03:05.545837] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:03:05.546837] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:05.558837] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:03:05.559837] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:03:05.559837] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:05.563838] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:03:05.564838] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:05.565838] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:05.599840] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:03:05.600840] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:05.600840] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:05.601840] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:03:05.645842] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:03:05.647842] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:05.648842] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:05.650843] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:03:06.035865] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:03:06.037865] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:06.039865] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:06.041865] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:03:06.042865] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:03:20.237677] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:03:20.238677] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:20.239677] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:20.257678] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:03:20.257678] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:03:20.258678] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:20.271679] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:03:20.272679] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:03:20.272679] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:20.277679] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:03:20.277679] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:20.278679] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:20.313681] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:03:20.313681] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:20.314681] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:20.315681] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:03:20.346683] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:03:20.347683] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:20.347683] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:20.348683] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:03:20.908715] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:03:20.910715] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:20.912716] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:20.913716] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:03:20.915716] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:03:56.385744] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:03:56.386745] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:56.386745] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:56.405746] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:03:56.406746] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:03:56.407746] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:56.420746] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:03:56.420746] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:03:56.421747] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:56.425747] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:03:56.425747] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:56.426747] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:03:56.461749] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:03:56.462749] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:56.464749] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:56.464749] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:03:56.498751] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:03:56.499751] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:56.500751] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:56.500751] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:03:56.852771] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:03:56.854771] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:03:56.855771] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:03:56.857771] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:03:56.859772] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:04:18.159990] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:04:18.160990] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:04:18.160990] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:04:18.180991] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:04:18.181991] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:04:18.182991] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:04:18.195992] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:04:18.196992] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:04:18.196992] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:04:18.200992] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:04:18.201992] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:04:18.202992] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:04:18.260996] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:04:18.261996] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:04:18.262996] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:04:18.262996] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:04:18.322999] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:04:18.323999] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:04:18.324999] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:04:18.324999] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:04:18.726022] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:04:18.728022] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:04:18.730022] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:04:18.732023] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:04:18.733023] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:05:19.686509] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:05:19.687509] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:05:19.688509] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:05:19.710510] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:05:19.710510] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:05:19.711510] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:05:19.724511] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:05:19.725511] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:05:19.726511] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:05:19.730511] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:05:19.731512] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:05:19.732512] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:05:19.826517] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:05:19.827517] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:05:19.828517] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:05:19.829517] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:05:19.857519] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:05:19.857519] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:05:19.858519] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:05:19.859519] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:05:20.226540] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:05:20.227540] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:05:20.228540] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:05:20.228540] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:05:20.229540] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:06:20.885009] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:06:20.886009] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:06:20.886009] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:06:20.907011] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:06:20.907011] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:06:20.908011] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:06:20.921011] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:06:20.922011] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:06:20.923012] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:06:20.926012] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:06:20.927012] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:06:20.928012] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:06:20.964014] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:06:20.965014] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:06:20.966014] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:06:20.966014] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:06:20.998016] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:06:20.999016] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:06:20.999016] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:06:21.000016] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:06:21.400039] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:06:21.402039] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:06:21.404039] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:06:21.405039] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:06:21.407039] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:07:54.807381] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:07:54.809382] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:07:54.809382] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:07:54.829383] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:07:54.830383] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:07:54.831383] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:07:54.844384] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:07:54.845384] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:07:54.846384] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:07:54.849384] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:07:54.850384] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:07:54.851384] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:07:54.918388] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:07:54.920388] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:07:54.922388] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:07:54.924388] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:07:54.968391] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:07:54.970391] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:07:54.972391] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:07:54.974391] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:07:55.360413] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:07:55.361413] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:07:55.362413] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:07:55.362413] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:07:55.363413] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:09:20.672293] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:09:20.674293] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:20.674293] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:20.693294] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:09:20.694294] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:09:20.694294] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:20.708295] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:09:20.709295] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:09:20.709295] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:20.713295] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:09:20.714295] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:20.715295] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:20.749297] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:09:20.750297] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:09:20.750297] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:20.751297] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:09:20.775298] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:09:20.776299] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:09:20.777299] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:20.778299] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:09:21.132319] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:09:21.133319] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:09:21.134319] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:21.135319] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:09:21.135319] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:09:41.395478] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:09:41.396478] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:41.396478] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:41.416479] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:09:41.417479] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:09:41.417479] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:41.431480] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:09:41.432480] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:09:41.433480] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:41.436480] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:09:41.437480] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:41.438480] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:09:41.497484] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:09:41.498484] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:09:41.499484] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:41.500484] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:09:41.555487] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:09:41.557487] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:09:41.559487] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:41.560487] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:09:41.952510] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:09:41.952510] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:09:41.953510] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:09:41.954510] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:09:41.954510] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:10:31.548346] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:10:31.549347] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:10:31.549347] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:10:31.568348] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:10:31.569348] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:10:31.570348] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:10:31.582348] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:10:31.583348] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:10:31.584349] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:10:31.588349] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:10:31.589349] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:10:31.590349] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:10:31.627351] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:10:31.628351] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:10:31.629351] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:10:31.629351] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:10:31.658353] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:10:31.659353] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:10:31.660353] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:10:31.661353] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:10:32.039375] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:10:32.041375] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:10:32.043375] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:10:32.045375] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:10:32.046375] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:11:28.736617] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:11:28.737617] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:11:28.738618] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:11:28.757619] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:11:28.757619] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:11:28.758619] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:11:28.770619] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:11:28.771619] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:11:28.772619] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:11:28.776620] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:11:28.776620] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:11:28.777620] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:11:28.810622] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:11:28.811622] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:11:28.812622] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:11:28.813622] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:11:28.843624] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:11:28.844624] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:11:28.845624] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:11:28.845624] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:11:29.193644] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:11:29.195644] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:11:29.196644] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:11:29.198644] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:11:29.200644] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:12:06.647786] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:12:06.648786] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:06.648786] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:06.666787] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:12:06.667787] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:12:06.667787] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:06.679788] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:12:06.680788] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:12:06.680788] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:06.684788] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:12:06.685788] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:06.685788] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:06.774793] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:12:06.776793] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:12:06.777793] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:06.779793] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:12:06.811795] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:12:06.813795] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:12:06.815795] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:06.816796] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:12:07.189817] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:12:07.190817] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:12:07.190817] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:07.192817] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:12:07.193817] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:12:47.662132] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:12:47.663132] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:47.664132] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:47.683133] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:12:47.684133] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:12:47.685133] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:47.699134] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:12:47.700134] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:12:47.701134] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:47.705134] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:12:47.706134] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:47.706134] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:12:47.774138] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:12:47.776138] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:12:47.778138] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:47.779138] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:12:47.811140] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:12:47.812140] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:12:47.813140] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:47.815140] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:12:48.167161] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:12:48.167161] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:12:48.168161] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:12:48.169161] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:12:48.170161] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:13:09.575385] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:13:09.576385] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:09.577385] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:09.595386] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:13:09.596386] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:13:09.597386] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:09.610387] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:13:09.611387] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:13:09.611387] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:09.616387] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:13:09.617387] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:09.618388] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:09.655390] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:13:09.656390] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:09.656390] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:09.657390] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:13:09.682391] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:13:09.683391] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:09.684391] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:09.685391] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:13:10.041412] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:13:10.043412] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:10.045412] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:10.046412] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:13:10.048412] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:13:18.356887] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:13:18.358887] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:18.360888] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:18.384889] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:13:18.386889] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:13:18.387889] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:18.409890] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:13:18.410890] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:13:18.411891] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:18.418891] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:13:18.420891] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:18.421891] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:18.499896] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:13:18.501896] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:18.503896] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:18.505896] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:13:18.543898] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:13:18.544898] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:18.546898] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:18.547898] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:13:18.962922] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:13:18.964922] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:18.965922] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:18.967922] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:13:18.968922] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:13:52.164821] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:13:52.166821] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:52.167821] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:52.186822] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:13:52.187822] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:13:52.188822] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:52.201823] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:13:52.201823] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:13:52.202823] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:52.206823] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:13:52.207824] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:52.208824] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:13:52.246826] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:13:52.247826] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:52.248826] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:52.248826] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:13:52.278828] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:13:52.279828] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:52.280828] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:52.280828] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:13:52.659849] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:13:52.661849] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:13:52.663850] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:13:52.664850] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:13:52.666850] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:14:27.508843] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:14:27.509843] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:14:27.509843] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:14:27.527844] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:14:27.528844] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:14:27.529844] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:14:27.541845] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:14:27.542845] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:14:27.542845] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:14:27.546845] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:14:27.547845] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:14:27.548845] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:14:27.587847] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:14:27.588847] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:14:27.588847] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:14:27.589847] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:14:27.630850] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:14:27.632850] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:14:27.635850] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:14:27.636850] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:14:28.005871] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:14:28.006871] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:14:28.007871] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:14:28.007871] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:14:28.008871] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:16:03.132312] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:16:03.133312] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:03.134312] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:03.152313] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:16:03.153313] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:16:03.154313] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:03.166314] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:16:03.166314] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:16:03.167314] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:03.171314] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:16:03.172314] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:03.173314] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:03.541335] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:16:03.544336] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:16:03.545336] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:03.547336] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:16:03.577337] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:16:03.578337] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:16:03.579338] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:03.580338] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:16:03.938358] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:16:03.940358] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:16:03.942358] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:03.943358] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:16:03.945358] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:16:53.144172] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:16:53.145173] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:53.146173] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:53.164174] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:16:53.165174] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:16:53.166174] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:53.178174] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:16:53.179174] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:16:53.179174] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:53.183175] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:16:53.184175] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:53.185175] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:16:53.219177] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:16:53.220177] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:16:53.221177] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:53.221177] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:16:53.257179] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:16:53.258179] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:16:53.259179] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:53.260179] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:16:53.620200] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:16:53.621200] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:16:53.622200] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:16:53.623200] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:16:53.623200] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:17:30.573313] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:17:30.574313] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:17:30.575313] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:17:30.594315] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:17:30.595315] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:17:30.596315] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:17:30.609315] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:17:30.610315] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:17:30.610315] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:17:30.615316] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:17:30.616316] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:17:30.616316] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:17:30.662318] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:17:30.662318] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:17:30.663318] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:17:30.664319] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:17:30.692320] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:17:30.693320] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:17:30.693320] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:17:30.694320] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:17:31.064341] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:17:31.065341] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:17:31.066342] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:17:31.067342] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:17:31.068342] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:18:05.360303] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:18:05.361303] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:05.362303] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:05.381304] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:18:05.382304] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:18:05.383304] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:05.395305] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:18:05.396305] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:18:05.397305] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:05.401305] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:18:05.402305] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:05.402305] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:05.440308] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:18:05.441308] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:18:05.441308] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:05.442308] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:18:05.505311] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:18:05.507311] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:18:05.509312] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:05.511312] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:18:05.899334] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:18:05.900334] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:18:05.901334] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:05.902334] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:18:05.902334] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:18:36.510085] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:18:36.511085] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:36.512085] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:36.532086] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:18:36.533086] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:18:36.534086] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:36.547087] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:18:36.547087] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:18:36.548087] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:36.552087] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:18:36.553087] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:36.554087] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:18:36.599090] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:18:36.600090] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:18:36.601090] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:36.601090] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:18:36.634092] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:18:36.635092] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:18:36.636092] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:36.637092] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:18:37.019114] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:18:37.021114] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:18:37.023114] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:18:37.024114] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:18:37.026114] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:22:33.571644] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:22:33.572644] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:22:33.572644] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:22:33.595645] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:22:33.596645] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:22:33.597645] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:22:33.618647] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:22:33.619647] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:22:33.621647] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:22:33.625647] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:22:33.626647] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:22:33.627647] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:22:33.658649] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:22:33.659649] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:22:33.660649] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:22:33.661649] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:22:33.685650] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:22:33.686650] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:22:33.687650] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:22:33.688651] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:22:34.014669] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:22:34.016669] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:22:34.018669] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:22:34.019669] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:22:34.020670] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:25:22.800323] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:25:22.801323] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:22.802323] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:22.822324] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:25:22.823324] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:25:22.824325] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:22.838325] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:25:22.839325] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:25:22.840325] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:22.845326] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:25:22.845326] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:22.846326] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:22.882328] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:25:22.883328] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:25:22.884328] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:22.885328] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:25:22.912330] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:25:22.913330] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:25:22.914330] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:22.915330] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:25:23.261350] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:25:23.263350] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:25:23.264350] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:23.266350] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:25:23.268350] INFO: jiekou: 填写测试预期值 +[2018-09-03 21:25:58.658374] INFO: jiekou: 当前模块 requests封装 +[2018-09-03 21:25:58.659374] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:58.660374] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:58.681375] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:25:58.681375] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:25:58.682375] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:58.695376] INFO: jiekou: 当前模块 解析测试用例文件 +[2018-09-03 21:25:58.696376] INFO: jiekou: 全部args参数参数信息 , ('F:\\xuexi\\jiejko\\test_case_data\\case.xlsx',) +[2018-09-03 21:25:58.697376] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:58.703377] INFO: jiekou: 当前模块 测试 +[2018-09-03 21:25:58.704377] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:58.704377] INFO: jiekou: 全部kwargs参数信息 , {} +[2018-09-03 21:25:58.735379] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001 +[2018-09-03 21:25:58.736379] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:25:58.737379] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:58.738379] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:25:58.767380] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api + ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002 +[2018-09-03 21:25:58.768380] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:25:58.769380] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:58.770381] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}} +[2018-09-03 21:25:59.132401] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期: +[2018-09-03 21:25:59.134401] INFO: jiekou: 当前模块 断言测试结果 +[2018-09-03 21:25:59.136401] INFO: jiekou: 全部args参数参数信息 , () +[2018-09-03 21:25:59.137402] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}} +[2018-09-03 21:25:59.139402] INFO: jiekou: 填写测试预期值 diff --git a/python-hessian-1.0.2.zip b/python-hessian-1.0.2.zip deleted file mode 100644 index 66d1aad4f55941f5e40e3ecdacc1e7a4fe7163c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98990 zcmb5W1C(XKmMwbHwr$(CZQFKMW~FW0wr!)*c2?T9QJJr9zwW;M|NGtl-91L^v(Fi4 ztsQ%em}||5SaU1NfPkU`{&5UOd&&OW#lN4>{(d@oxLP{c(^;CixL6t4(=pLA(lawC z{<{ezfW%x|9Ao)K1P=rN00RdAaQ{0KSt$`Qc@?o1Wx2RTM#P>EjVZYJ!h14$M`x6_ zmSpk)x7J7TR;LOvl)7wJjZd#!6zHz%;h0Kk+}WwDmu=be8(+|uE7pa{AsWw@<0~BP z&{78<1snHk?|LXT3U~gby8;AXUb5)iZ$%-9ow$K5eQ|a8QoDz1~hRf$L)d4zj1?L4dH`46pP-9AF|e8_F_0*+96SN$XEz}Q zD!9YAzV`e=v28QV0z+F}0U-9aFZ_Zkp!vG(xNAd{;4MK5f3awRtHRR1e>>RQY@Y%D zd4J6X@#twfm;$oYk{0xbfYnkR!${k&-L;h<>mpcx$h#UmvD3VHfbC?jZGKUed}$Pz z@cd68to=u6)BHll0~iYIE3Co_RJ{PPM`w!@mf%9tm5wN_vJjQq#iykeI{;@naDXpee;D!LSMG3{G*k`Ly0gv^GA2N+n^E~R*finz z2YJ*FVgLL>*5t_=R!J5!WUmGbGl0&#dbw+mLT_>h>qo?dbSCk$wwSf5lbNaZiLR1b zRpnBk7+c1Y)y$E)DU7gJGpQ2^w20@>!)F8cXI{7twBx~~Zv7fy-@ioEx-e3p43$4X zJvY8ql=?u(8)*ZY_j#N_mX3c_QaIksdvZ1Y@qR~s7^=7hStnWStyABcM9vPhW|Dak zwqLs(Cj+eYENdLAGSNzhZWJ*ZleTzr&eA@b z6WI^hc$W>loug4&vM`07)0QhNI97uH!G)9DB=FuK{1+f4~a* z->?@)qbR=cUOYwe_uD@j;otWEi9|Uec`0!*6;*mGdnl49J zzXVT0=DBb!M#nWu86mphTjs4|wqZ(>koLvg5~pxV(sfQ8x3`Ac*0FRW2j`8P?NLip z)rOVB41M@BREd}55}b<23&hb$7lm%eK`6@LdOC6Wxk?>C2UQWJv!*>FBcU>eDlcON zqSJ|8oT)gi74!vW%EnRo+y_I|AFYfs|j&Sh;Zu<>aasw6B3x)5+ z8O)a@zOoTR=1@5{jezjC=*DkBs(z4T+M9x70C}6#I1PYEg&l)3w zVmFURZl6zfTDkq*96<|r6Q@!rNh0J%aQSh>#;7Mwz&E|JD)kI}d>Aafw}Eakj23O_|jzJ`Qx~&Ox9MDK3~YCv7^j1!2qdwu*PL;5P|Gq`673vg zMYd^863aMb6SAb2OJo~mOboS=yf6-eYWHgV2oVDgeu~0rVSKxZdjZIK;>bZWmDmRM zo1nOtAH)XTI=T~EpT7zYMXcI1^+B+X=EJn5*gYkiqjcr@ z-Nds>BQ@8y^&y_QkcPm~t`4mbo@2-Cz!kYW6c7KnnazBX!J+Cd0oH&ofY06Pc){!C zbO1U7!Y_+D_|~5}pCJE)7?_>5csxZA$P*9%u=E#Z1pghx{t4I^l>z$=M%bPUn(*A; z`Rc#%gY5e2fhO&NGIMOS%xw!ANhMuXZkl)2Zmwj+$M5Q4ZIlRLCHK8Z2?zw(eMyy$ z6vCIOWtY4(p3)PQ>|2171P5w21F-^s0pVfszk=AFl-tBwMyogllCZ}!@?*tF1)q-F zIFNahNt!_ND+8Y+oueSzAH{SBp(8Z_**!2> zDZ(ESo!|^kBy3^~?0N_I|7X#QtI zV^b>^S9*6VdpaXKQ+C$>;^_a)0RP)D`@ef&Yi0aD7*qYvz4(W*qsPA!%l~u(30Md6 zk!-7{r;YrJnUBAelJ#G4V_@(%5xN=}&^vmxsQz!N`8Q+j0-}W9;@kZ>iz7C)rIQeO zbUZ5?W87`#hf@ydFZ)i`*Y%)jC8%3|Fta#pd$EkWNKf6(oM-hErFFr0em`$*gqydX z=`1b^6L6a>AD&e^*C9Y8jy$il|51@5AkG9i&r(l5-#*)x%_U(F*BZkas}x$-S(X>c zSFXX&Ue=%}o5v?TWu;u;gF7~Lr{3&X@G-eL{k>)%e%j^c#mxShl>{Pbq3u)S9upQ` z-Vhl(;r5$rd0{?NXKR1=Ic6vhcxunE_u?zmt<<4~0oywPLiySxU#xB>JqGLeJr{XG zTWrh9ac&=b3u5VbVw3oB7lQHjEM}1hjYtT=6_73Qw!9qm5rph{4IguzoWm~%ay4`L zGao4B%Bt)O0R@{ZRu?)Dr@N0(lcGDpAW;Sj#lG$T8QJ0 zD|Gar2jl8B&oR(UU*Le>75J%GVtCbsN0sCdfXkRwH0ZFH>(Y9XiGeS3Nu{wlKooLOTgkJ#T9{J}S&YpadM!iq{r1}Rt&xVKfD zY1t9sKXXlgOgxB*`sa7YC*Pr^(LO~-j&Xc-Av(HfH&AQsGw0q#Ps*Kgo-n^`9b006 z6hzaECviv7P+wHif|4-M9}$lm_Zpv}!p^0vkxi0Cm}Q&!S<>&{lG0s`{W#Ym-79dQA_dK=ZCWkoYZF4Mis-x#i;H)ghI)qq!DGTL8lc)!1`Drf#gNWa|~e*^m-B0 zX{@Z28ISq|9?~DeyNy=L2G5GZ^)sT1v#n~?FBarS^p zzsKtj!tvi@*2tv3j3`i`Y~jWHaQ$>^YO(f~f=`NQawnkps`zd1kn*H3?Ix4wH=DUl z*~aI`(e3TjJ;busw@t%qDfhi^>}kNOB;a;_`cHSMVCQL3q>Z;Qdm~oCa?%sq%w$z+OG3x#8N4g56fhd}%I%g1 zCB9r`urP$o4DBipE{)`J?b*~&Lu(y7>h8FodSLRub>ia8T4cI+5u`4nP_mVOLnXsq7$ zu>w~97;=)pou9n?rLqIj*$f4QkY?Tr{fH6u%#F<~=|!OGj5%fn!2EIZ7vF6~3@ZgNn8{s}Nto0Yv=GA< zOyhU?OnjI})IJo@;p0@*OwQ+q|p5L@7@AGdG4uR{4MJXx``4;RF%xh!Xr z;ft;|py*^M&5baj998|hqd7m}S!n+I}r+vz(%kL|(Nw7%iTaEP(1uh^7U^ zjy~Ac5hECHLYY!;E+yit?~B`Bhk&Vq;L0HE``PX!sr=+|QdUJ{<9V+StL;}O1j4le zOaUFu)2`=z*My1q>WM>-mz1Q83r~W(aG!n(u3pSIuZza|nhcN9Et`^>6>mW}SJe1c z*U!A^OU;b&(Sud%O__(RV0G>Mm2Lw^xzls9>Txc^&Q#Tm$-8JJl-po5X_EjVV|@x4 zfnBdrEhFXhgJx*gN$@M(F)h;-xsX$s=gVhS={BL!4aX0zUX+dW9?`j7EHzpRP34PR z$_#vdM>u&**}%gtL$NiG3Y#mmr)R1_m~r3V&^W{Dnku?Ht=qqXGat=CxNky*r5*V5 z?P_UBZ9+jJJB4H}wyVz&Hhpr;M(dHWw}G)4FYGVrbzA#%=x2lFRCnU=M}NFG)FQYYvE02^)E(%YUvS>@u%yz$av&6Oz9YaDoyg2`;6lg^{vETSG5pUeEUO9 zUyxj8t=N2i7N2wX`>uvX{K4Rk$-=*cLxt(V%@UUg#f_|Aq3MK$n3TQ>zD1@stBgCd zF0IaY&atw6(SC(>rilwPDlA*a4mW;CrK;GW<4|_4@4J~XI~cq-(AxlZ4PVu9 zWQYiu+3buhro$3u`-1cSHcr0U!a3goHr(1l_|m)DJz7jEb09BG`tpw<2(4u9nO2B5 zo{g|%gJs{;cdp*kr<1=#FsH=sf&L?5zXo`_Nsoa!Y}_61s1M_M1XnqxE)#<JEG-!oPByZRM$$)xT(1pR`@s!Pi**Tx)wfv^HT!#rgAJ0{RDwsklTGNR!gvK>qV@ zWB*qIx~Y+?k%6m+qnXR!pe`3B1nn;f3v%Nl=5USyYCw#vu2rH~IrsFft}(osI0cYG z+YJ~Mci+g22sb^_){G8#L!~o@e;iKufZp@-c2=KF(Pr%su%%J&#N5GcSOoiL*0Cor z7C*^_S#|uoxUxwO0I>WkoiwvIaWFM={@cT4ZI8Mn!GEM3NJ2 zVv_sW7*@I&FU~_%n#s$iS}8W_QI%4lizZo|9vn>JKc1!b=S14+1#UB278c3(P}n-( zy7zzN{1R)gkX9l$v!Amc@xZT_sN1<01-*naNDG9x6jvW!wvfYRC!W;lE!<3I!!I<$ zhZ%s00g2j|^xoD4yKnr-l7VafvXYfu=Rstg@HeBSUDhsy<6_p`WZ{aKU0!%{yfSq$aZ2;hprxhOe(4u;5G+~%(NWro3ywqEXYGWDe$p~s4(FB zBcD|U(hAQ3@XDVdo5)*h^Rt+0Av`ff7|Ex4AMSpR#?1LOjUqCYK?~JPjJ$BH%A*%H zU060?;4y5s0GtHzy<*Z|))osls)~cnH@4?PQUOmK4MR@t@zq1*Qr%CV)NG>4a{5=L zte@7me~VQ2PV%;+3`Fqrdj8rv0XxnFOwn4um)|r`>J^TC%uJ;Auvp-@zAx?1<-On7 z8z#8e_e6VwS$0~c)7gRzkbDA+iT;`C`Go#vm8w#zLm2(75?`H&d%gQe2L=WBD()LvEw{}#uejqC> zJBjn{Zr#;e7nP5!G$uO*B4LL&DwSL2uxql_#*Z1tE!ifNH(8Msyhr{AanSsHKIW8? zmPVHckr;^zjr-#~OJu3bQDF@$*p@hl2TT(W<7L>$3DSGY&gqxBp6hSkF3$Q38IW+?`iqgM?#f_RBu5=5T99v+k3xjCNgrm)OCY*7YAP&A>W z(a8+JUoWIvYC}5|*L8_gd~fO4B~UW&Co&Z4F0}+kU{Gv5pBahGI)MQpYas<1rV+My zuieko^uPpruqs|fuE|}DjV`EGEa@nQ!;|hS0~3A$(jN28fzsb|(DRyzEKu%ghHaI7 z(DMWeczichiw`^|Ii_2)Er#ZlD=8RUh)@+2dK&V%6N;}(_~n$D_}&oxGc9gMF7VHl z$691jB!k)*T|ldxJ3FIm6DaDEDD2vdV4)L92Mzyj9At<|6qp93`-r{HZW2Tz2lE7`-Q+#Y&H3brzbN#`1 z>&V&c6RVl#z~tI|uAsUd;yv_chi*vdWkj-u%;=Ef;5=$5!nByxw*|eTy@!!UF`~h` zxnNGQ?(;9%&O4-G8eB@7FqJbn97o1^p=&P*`?~J4Wzsz2hBAd)JE*~G$u|lGmLQ9* zC03ROvBq9J^0U;C>=_{`K7kg@1qn@zPh^B&yV~vpW^JNh@jQ0%tRG`${63s`MiPJK zjYI|UF*4I^TXro(3I&UZ()qLGL#s$J&Sui7EyrTX{o$I|unVDX@r~e45m4Xy1rm3h>S0 zct+&$aB(erM4#3h`KNMsygm1;=@8bl)I{HHr5Wp(1`dToV}aPQ+SybbzRtPQk%od$ zehx1p=Y$`Wb zCOdnN*lyx3Gj7s^Cr}oxkRf#pe^lscNnra5Hc6P4i}2YE-w*#fs|UmJ4IpbeYgALq z;T)%~^-NK%BrUK7cX(_mt6y0AG-OhZ#M2-t%TB;s)*wHIt>IcGR;UkBaDIN8mj{YS z4M=XSn&5dAZ3^)*$u)I+qL%i*d6AOmA?4s9l^{Bq%Hhcz(`Jyu?^`nGDb2%fdVd7G zs!##!bBEwR!q_Eos;whZJ`$K;lsmPUl{>n^{Op%QFIv+uW0KF`tY^K{%dMCrP=UH8 zX0m%7zl3)n>?bk5nNdYDrm>A0^lGCVt)<*RLF%lAmw^g&;_kd! z`{Y>BpIP+k;zoOhJ?ktQk#Nfm`8VITrmU+u4U(p?__BV~K+8vU7r0snU$3OLaiyn} z2{Q;ql!T@-(M&EqEO2FeI+x(x9%0a#C35sbQ7w)|e~tpTh7;4Oc?9y*+3Z;y1ZwQuRNER@k2M@1(~)>0WJQf@mY2H5L%6*^iwsS>nG)Z_~{?ytEs?P`xJD<*7xlNC~gdpl?vJ(0J zVZ6K51SwaTHmf;I)r)LRQGw=waNhL-2!*0sdSUQKNEp{9>@^Ya ze&7rt&ul$f)vvJa^CfZ;`t~!_y`hmq)2PZz!dCRxC+E=~iNRSoDKDKM|APPx#Dkdy zF>>*7vZM{6Dg03!G89&`~;dNGwbfjRW0B>{b&s|TCkK0L0mM!v4z#+Z?QI;WIpI)6K z83x5#4hbbR$r$V8l!$(9QY*frfs8qpajqa-IR@#9lr0?qEvk^w{rfg zV4l(h2Bun>P^`igqMSW+j_|L(^p0L+bA~Cs10GPBZ{uv&MX+I60GIryE94W8LyDju zspwYmBV^4o>p5>un-a5k+`U&t6@3v={M<3f0$pSZ8dgA{dDDIaK)eY1-mSMFj3YIp z;|Tq_U)Ak;FjV`j9oJ8uLYF68?<2F$vMnwQ<%3F@KV|3Hy6bj(qwn`={Qe+Y&=~4B z`@=M5WGN2-{Dr#*wBT<~L49(_)A=*s3i{|B)%lAMM7jl=w30=C*&ZKr>LbE`iuA&p zXDdhKfV|%Ti1~|5=m*`4dLNB-doZIg{2+U6?wwN?1B$yp!hI^n5$P0@C8YFUrTq1t zI~63l`Z>VZ*hA0>{0F|Eb5!vM8^AfC77)8;N;NMPaA&LP9kWe%u=VSJCmkEcki_rh)xJ-JrxJs-fCHzr@e!T{=rfwM23a4ZUykVqbJA$x1L z$B<^NV{iE61m`G46*SQU)NeQXMl6pk>YUu7wcZFdn6VbMuZN zq9SrjA~}Z59a4eOz^t!NHUJ($o6B#e**i)*tzB+8od&h6FgNT3IfHgJKo ziIC!nU2&MXb7OVcWbNjeRa`s=%+ckUHf6r8|FG9~jeP{;x9Z*4PpPico((|*5NULLPS>6DX)>rkg&yTT&fLPFRHeRTeKx6sVJ zEWL^xRzoNyqEaA}kVyf20Sj^V1NjfQ!5FtvBjp3bS4(Q(c&a!BoU-mcgvRw|SYl2} zJ8P3FB^1wXU+`NwRyzZ!9Y5i4Ioh>-A>8|-g<;T4ftxAJUKZO=q|b6$B?SoC?#NO3LAnys03&L^88k zl)hHQk{`o?hjq;3Qas}>EaPI??`%v%HI|{`nNQqFws7q+uN^@P)z5##3);p$ZJ1ri zF!pK;$<#vYl`#3Fexih64WH>)1|{u^VzGpFA_u+%MV33d3y+sNbI>aBcBatSPGzn4 z2RB|6T{Q2?pqeedU{AjYGwmSc3=RBbLm1n%1{}LK9T>0xWOMYucbgY?qurVYn&hFe zwv?<(Z@Y5_iTe(dyl#>hUSOF{DL78n^m ztfYD5suhR<6>n7QRl&?|E#Q83aitTTnpdvyl>+Qyf^JXLiM51Zh%uo<1*8e-L6x#h zpuhZJP!JuSRPY zo4aWTKZ6igIT%`q_tcORUQSRa6d6QeIxXI(;|@Y4srh^`eBzA4kZM%M0#EMfUfT(R zY!*EUTA%&DS`7NV1SXt~J00w!$PNb~ri}u|1xTocy2u|K^eS^$!$dXBv?v<#a$OV4 zoM$?gWs{&%QljafsZdONAzB*V)MD5b6G4*0Z-{Zj8*ej1z1)qao<~Po>&$L=|-R4T}&^sqPYS=)7GoKQKsb2t&4x?@J@~ zq!h|?GHEX-y7&Ex-Ma0O`Jh|UH%f-^9nofU#j6I{zPMFKj5-AmI_K;N_3#+5AAG+UWAqA^HKCD+m^6^B=Zas&^lFWDk=_R+C;@U zHFMNzc`FO5@)@JP+TT0oCx&qvSXXCCNvK8?>m}xiRUi@u-Cyx!<)qls6xe&{8dQ}qyV)x> zMPgFt#1Iangzs6^kwUvfCTfRa>AB3`_zR$@>hZE}Oz6o2IYIGgn|c7eO9Yb95#7aJ z&%I(UM;!>=Yr%$emYT={6=tj&RQ7HT(xp!p$$y z`_5Du>&2swwrtG-QqAXU_4IXuTL2!iH_?AX6cYs>cdBZ^!Z|z%MOoCzcRO1lR0P5Y zb{^h$4x(()6T(G;k7j+O3u^Q!G3g!JN*o%P;}parlzQX}$g=RMFa#o9D&=i0T-kI& z0|#)al7e5~C)!m$$6?s)+@e^JHJbHF@`$d%6JQicjFh`52adZV7*W=MJW8l*_=R*(eqCOZclTH=DR5G~yrtdUzx;%OIbt*Y;q(Fle%27n*T|7FxMo(oIln}NJ z5x+O!dR`DGAYMe??*ylaS8ABikRrU5iq-WQm+&+)^^;MQ;XI4^6vr3YD{TwQ%FCjj zR^4e4fBMy7ZL7R!CMVBf?N&weRgNI0R2yBcOkeByR@A-SkMa7nK7eW^9^@`JsZ$Tv z1!<%c(nKz}QBGRE4hBkG!VPW?dW$5OgED`1gsrXJV&HmA()mA2Bm$W;H4@NHpVD|Ai(=jALWWjMA zszXt5Tx=kmwkp6EkRpY^NT@#38BB-h)eurO?PFZSK?QjF_%F{)HffA|7p@Jx$>;#dr}De9;wp+K+6-vu*R zD*>60V1YzPH{PeQEQZJfSgQ9&cdQRZ(2#x$sK0~>J^&w&Q~v@vfA-Hw>}n_>NS|YO zAMfL`s~<~koq*3Ui19`}??UKN3c$9w?>BImRA}4u0hEtzUD(Ko-=Xmo|l7rWfeHVP12$-Yuj>FmCyK8Q-yY^ax<#q@EJ=)o|J9YHjflimGK-uiLwk&EtN2#SvtQfMkF*!oJTy zhV0R~QKdkLKPQMFG=Cy}D>E~lvCKbZWIh=&UC(&RT|N;bIcfYNe;3Tb#wAOzVZf(+ zaS%7#T9)7-fR{orw1m!SbOuzwIG4gWn^S`9l$r~XcLRHOYhr?73UCV(l>abfyqg1g zi{Gyhb0liax!BJYXsy%^&~u-Mep^#_ZrHSiAhpjel8A$c1&2l$5S()B_Q%7PEtrjg z!NH)Oe1U2Kz9Zbc6hhTbfX^b{Q6)&Ph#^3Fk0f~#s)S0CB)}6(Jv+2tckWR#Y^Z^1 z8`%RjTGux%y2Nrb&|$yXNb08kd3weF6^LDG7WI5Tp~B%>!T*TZ+6aaH+b+WePATVvUFT}VZ(;7q0Cbp(W(WdO=hV>eB-Goj zQyrlw&l!B-A zKJ0O8IX}UY)A5S{=U`>R-v(a*>aMMC#Bp#C3?KZc54h~iTvN-(nVM6r%@4!z5bXr#?*|QjfLPu9(_rC;-?*I<@W>ZxG^VLt3zkOJ^s|Lx zD_5BEFT5TdknYMxNr|;i)_q9?PM#=~xR#%k3PaG&S@o9HC}$x#Gr{U|yJRI;1V(!NkG#?>66+ zrcT`=BdqUEU3h5hZ=sC#Zo*-q@C_UcBGO=hnpT!jzKwJuFv#6bgNs$78x6<+2y)Vl zR;I7pb8*dixoHi#=MIyY=P&CP2=^TA}FM^kfk+-(v z(7qcrX)8mi#jfW|$FCBrvZBBO6sB8?X+0)?XdOqgZ3JFoQr658M5UqyPqa<~T9y*5MD>&QA9Slr~K={#g5ZEzO0K;jem`tDfvU8oLR%EuxCVdBnoiTMGfw|O3 znF%zKS)m&cs*tI)bXER|E`6&;qhRC`GKU>{jnr(T7Wv3nsh(Mq$f)$TWlHFDR2L>j ze^y}gbI$LZ@RnPlkBYx?8<++}Jl9s;oUs)-42G4`gO}5)JKEv%S?hh@)2L^~!^z2P znnxVUdNmjoKXjjM%ZGDi;xg-x3{Wc^m<-51IGbsKc0bhu}5_2C|nW7h)?B z4*4%gtEQwr!BXfD(~qkbnX~HfQ7JAZU2pkMAqNL~@<#+@1NXILS0tt5K+`7f!+%Zc zY;A9etmJD(NweCZjAtD_-OFx~TAV-KKPP5)cv={zffh=ttGu5Yt6MWtn$GC)p5E7cAV^vGgAz^1{R=8#G33l&N&3EI&WkgGr2e9!3ED9u?U1 zcN1>PgMfbaRVkuE5HzI>)Qx_vce9 zg3kfTM%MAyfq_ikhfgk~Rp5m1|6+b7*0H#F32b|#`5ELXy2T;rB{an{xO+BD-Dp+~ zl8n0+x3YT~FLjJ~bW+10VLPaWu{hjn%Dw4-bLb>#IY-;~!PnzLwq`cjW3`Dk)IZDZ0jfyH=XixNwMLAGeoJh5wI@Z6o| z!SSuEa-TPdhRJUOdc0B8XvbMJr;-)<*G!3jTLtaC;mmA&*Z7-fOrK#uB9r}A1pTb= zqg6@BW)_aKdV1rRO9qh%ctQeAkm;bsxd@YgAO{J?do8&4wNnvm#m6~kn*Hd{Z(S13 zQ@4a#PwUAy5RBsbsN%JRg7^;G#Nj_*mIN{v^JDXmC1fBIa@=-wA1W_2ivCB_F6k!3 zsKcZoJv{3!9RvsVZ6;lz32aI6jp@aXz-Bq)>MUKt=F?-@*kf%slx9ys;RJ$P9#7^* z1_S9qV8JAKe`2Mku%l%D;(T#2ZS@uv5dvP)(TgQ8Ow8bpqy2h{!8_>u0%iGNhx{b1 zT&r`~c*RlT&yw4Q>(uJ-d7f6Zut`zeDZgzkO{;pG-LV-h>E5c(^xa6jg$;!%3pnDd zU0{`0yX|2WtBJSRE4!vkJN1@pGdhsF?TrqV)1BTpaW?VT7L_WMfRcB9-dFo0ii}^6;12|Hg6tDUePD*a| z&w~^cXJz(quc*n*pS6zpdjuf;VYtf9RIQH67Kg{3`H4%ae#cp&FO|ysB!#)#@AP`$ zP%rV)rVGW80nvYM?OdLT6u&&V2#qx(NiPhj9}_dNlSyY*HEz00N$bOKQqCn`U7!zzEr>91*JLmbftH%{fE0%~neYhD zd9dDI^^#mI?CBxA6oQfDwwVty7(I|Cm{C_xmH&D&qSCWZ^Ljgt=P)`~_9U;#bSNhg zIdMqC?VOWX2|UB6NltovJk+A>GksNs5Hjap*7mLGckY(fi_b`U0JLD|1{s$m<)U6# zDY3J{G55)RI*@jYnZY2QQdp=tDs&vpyyGIKF0yx@9IRDm7ro?BZa3ke`HDREp=~et zW`UmBRFQDaInsaSSvV%}*idOGdr1VgcchpXIGc_+)uA2@0$!X`;51(wD%jQOQgiKf zyL_Xz*R&UkkhfyVaZZjVVl1m4C_j{sl)L&9fb~Wh$neyNNAt`rL~n|JOjvd%=oJNn zg-)+9`T$^XR2HReC2wWKF+_Et1h0nQGhJXFZZpnLN=Gv4n`H?C=}`dwupXJGH1BR4<+il&`od= zm4WT)Kt@z6rnC_uDQgd*4a^{O?h=q!n{^>6^~#i}(V5G=a7*yaM{c07ymPF)nR7px zizOtI?o2^(Zblt)^SXURZsPR&__=*qe7OsfRv%vvU&mjkUk@=2W=~IFL3%I=1h5iB z(;Z>YSAYeARB?s19J|StuL0>+PDTpP;EEcT~03}DfkL? zj0)>B?BD)9$az4#2EewwV6#d}!I(5RMr&qHPZ6|aVXcfFnx&ww8B)i(0KOsO3Snqc zM%wBaI+)((hD$1jk~#X!!cJo-_M<_tEOv`-;qu4_mv9at++NmT*iCy^d=@uLquO{S z^*J7;6=v2wKBAD)cO|DkJ_0E?FA={!c8cOhtq;;5AEwK3s3EvAE0o{l#7%ZrATFC1 z$}WFLj^bRrS8`$?4wktcsiL#zPl_M+)p~ab2 z8vR?$B%al<)EptAb&=p|Ne|rM_B2&MBmIZwM;~hMyvRJ}wA;SAj#;==>_`MLG-Hz; z>=4X5>I=#4bjXH`C&%{i?c$yh&&-b(OOxZB^l@t2MEIe+=(9SH2Y4N*U%KhJB@ z!JTB;Rl>QrZT*f(!%fv~>TOV&K%W7k*r5lKtFYcf${+z*=CBR|(}a1!RoGDHqhwVy zp9xSZoKnKySYTaeWxE0l{oi>3vIhZ-(eRifk#>f}WJ>s91L#$DH8GgWzLFc4CN$&% zS21s!t2$9#N!PF}yJv1@MW$NKfle)xU$H^n@OoBaiwYkH4>tqX((a5NSq;LzHr#x( zS1>yE?m?dJGNcf399-auc>Khln;^pzr(%mUAgLd&<9Kr=c!Hl^93QsH@{CFwhc?*R zZ=E-w@jqhfKI}I0aYLl;w^KR2Xsru4``pypEGz$sEIxa%mA41Y7c zHq+e#2fSH5+@LbY6G$eK1|Hbn<9x$LUzbTGosKMvJKX-Kj_&_dMUnmgXG>Qz7gv}6 zA}R9vJ2mvI*L*AcYg+hMj>q_a>*Bx2iE?5apa&TdLtnfiadhGX@xUm~cF8Gg$yha@ zTBSO4g?6?}$&@04elGrT-+}16b%EfFIfEDtEMg-*ED=3Y0eG^qLgHJL8oPa}0b8y= zX$JR@Z*baO(g~}L4X2&CE9Uag3pG&0?pn#O+L3bHDU)Leszg;@obP_n8l1n*L+qge-9LHU>YP%fqx%XMC6cn(*^HnlMRBxGEfi`6tV`H#HI`utYZ>{;Q*c z`dj%*`+xh;#zrn?e+fp6n%!TiKI~Vn0TQ@n#oCjSl>l zO7YA6jg$WG+KrzTuB+=Uf7asgBv@|*E#v@?6Ff52D^trDza z^fZ7$l|;eUviH*z)OvozSoS0CPYoq1dM9?O406?9lO4GsLT;wbalbRI>0%a5OHm*< z{0_rLLD4-bLCx27cqX!572gp+6z=`jtn2gLK)vDjEuyJra_FdX>23L%_I%TZVS`Lz zjO6H#G^QX$6>H6R*=XT^=baoo-v20leIyUT*?NheBO-G@X5nu#v?pu-%*^r-4-XiG zpiy159WcZN@u><}l z?BAlpq-hq8#t?e`Bf1x*j%d0aS;*3;0k(DFKkr}l0}U1JvVQtn;$y|nu%sC?x0K?U zosVxg@EOe5w0RbcT=Nwc<`6i^czqXTgFogjz4t_UfsVnUe6jheRXKU-WAU`l0S_=D zY~JE>b^qy&iLjm0@(h~y0odEI6-`4=m6%7C`+6dfR8G@f`Q3T6c#bPDd%9TgC7=>{ z&v^ET!KXNxrO$fOAE{nIds>ga=<3> z7&NddQa|8e2CKDf^gwag;6W_CiGR>3)q`17=|I=Qui(b9m^TRK-0|RarbeGvf$(5y z^y-)IOzj(89^L6B>?}#|2Z&Ec{)*c6`b`_5Ka)^D@5ub;b-R<*Dj2UwO{u$}Ol`RX zj4uect^Cvy7>f*(8vzAZ?S7;w)zzz3F?oc5~=Wng{0lzjl!x${ct1G7t@b9D|@D`#T1TMI&lN! z@w|6>JRQPfHcX*e&|f*y6P_(l@_a~{YsiktXw`m$iI3EW;n8DXOY4Se{(9UWaC1^w znF^brq5J`6yWO$1PUAO?_u!6t2YC3|80>sGN7cvNX|o;$5`NacFGVfXxJa&3d~_Ti zKc-VPMCE~6cDRHH`!T*jke&a6%Mc{MI_78;pdZ`??M{+q*Igtq{}>Asw%S54r1;73 z^!LRA@t*Gv=6}#0^YSm6RdLhBDX$rW|ZnAT-$C;Qkp6=>JB8 zo=X@|#=mopYX1Ml*f|7=5=CjcY`n5UbH@E@^M_diAO<~FAPp@PrUjLqOf9^L&$M#?a0RyN|3V?7tFHAmXu zar#`cfjMZCjMQtl>fG%y4FROHqzQCbumCE|`c2l z^>OByB-V+4{-%*!?28QBYLYpiemS(WZG_|LQg`V!F*nB;nU~ftp6yOb*6pPMQKg>N z8CcDpA$nMt{N8*cq-jM^WEC4oq1KO|6`M%t>@(Fv7s8NC$(f}cw@#_13l-EAbLQ27 zMM?pi-^+A8r7`e@*d2=&3}>6lnAbbZlTsNzUEoZ5=P5Y|{X%*tV1#+O@dHu|&1+Ci0mpgVLGQVz8^9O$Q|J@a| z_ySqT1#@}my|;pQ5Y{|{GTTf4+oycr?20$C6JWJ%MkKvovPK<(Wkb8yqpH1wthtjh z$$dE+9m&C3;zjM5qOBh+F^hhILLI?I`(fmA8qDqqriy+cDm!23`h)$GdfiF8oY?>B z`74C>_Z#sDlLqDSxA!Kh#F^E$ z`VN=dLx=@O9YjEUKc6AC?|S*iwIODe!~OpL(9=gXJeSP;kLXAJwo!Jwo-PoT>>h*I z!qs~4=q6-f$(wQAZX|6BzwSe$KuqmexSyt4 zk2g0&AWyK3k15qHOw?;#p9FT}$~R59+}p(#%GDm96IJV7wh(7G7}R|+TW2xf|4!r~ z066}sSVyEg4p+ee00c$@?%y7#)^gfp2Hnz4f|*M}sRq)R zF`t9Ev{*4CsiUipW1&+{38bq&Rv08Bol-==TenH39a5}|bW(pgll(o-ir(st-bH97 z5@(Z>IE&dgwR|*C&>OqlAX2fSHCF^XGPH}Py&PvBv}Y&Q0*tBC>7gw?QD@L0Ld5$U zK(p%^FAK<1OtWXIs4r#~+7j!zq;9w<8H-Fr!DP z3*2>DFS*y_*ujgc8$|{KX0vFhYb+Epj2U2&GQQK?WM&FL$JCxft5dC1>e`)qnkzr^ zlAKFgwl~K3IaBB1{~Qc&t0OlQ*-cu)vqZEuB*RPtHoAQ|3lo_tigzk3A|fEt2*?7* zXNA0_qa;3T5Ysh4-hb^7?7z?|*=%l3Mj{6w1oTgsJ*2biY!U``EdA39<)2-%e~nvT zwj3)dbi$KgI8h%o?;p9m*IGY+1nU2N2-{ue{Y=wh(5jzEz?lkV+?kMFP1l>dbp9bCaTB-3N}|G2Zwr@IQ-bhjad7ThBih+O zKzM~T^qf==A+oeu@s;}u#|5%Kp1FRvm{2qbtE6%8083z!M=*$5Zz9v(ZVo9wvLh`za{g6$J(%UV#HhOX#?VRa zK*S~SN#;dUMnA%$4H1NZbCXQ+Y82j(5>es{=V*TvHYHRh2Ta-sgTFzf*KSW%GWS_D zAKFY_dsda|j;U&34a1uU6gDkOHiGD}Df>(|GrS7tBeE-D8S(AOR z+A}voD8t&JcD008wS;H2gm<-u`?QAVw1o9)42)_5^n%C)ybyx`NFWd-{s<)D50SSc z7hxI}ynm=ppY3j?xjAjIGOyDY9}#0^+}3TR#o=z)iTessbcc^S>~cEOTuVD+N|%~h z=l+1-A7-QSDpC_sT1Tvy?+r4IyFa4pr=XomPs}ocm2zS9U`pAzBT;T@$+h^uyI8C- zVo9j{^WMxnqAul8d#-W`4IP#Pr<2t(%c+VH?{wAnZw>>$!1{%Q)xWdpAWZ7W#&w6~ zNku(i4#c#V_IAHs>+Gw1ex!s~q}ZhQx;SL`aXNd6rrhewHif z_1+61$JGRopbHb`SH_xK>M_X<-tp6|Bv{VaO*Qj4N!F0Y#@$(n*2%9uuM)xqxBh@I zdoaZ%MK+-+t&UmfmEh*Ju5GRM5Ej-kg>#c^l1yv)cr}KOnMOQuREthJ0?pVv<}aO* z{RauMn~Slp*Jy8_C&OLGg}G1p@>(?`rZ6S^CVab=@z$exBgeijg8!x23p?-cUAeWl zp*n8KIQzPz6NBVwaf!L(i~Tji+vV`r9sN4R`#LqWlAE*t$0~GIN~f)4sY=<>m4@o& z9XP_*H9X-G+E_mwp_RtKZUKh{b631g6zhzBtb<_}{Y{BT8~x6k%fuN=PkjA#?X%*q z8?QIi_Ts7b69M*_%<$;*Sm${RWtv;hJay5XOgxwEPhQ=FoUGKXWwDt0BS9sX^N*Z} znBxXlyn3zeKk?oFh@r&%pGwvLz!?2sUA~8Z6eQ?826U@Y006~V006fC@45fN>FNGI zU`rZ1cSc$kT4PgFEe&HiEooGot!JzkeNmA6|zvUr?3QH=BQ>i_i^x%M<@#8@C*!ci_51K(g0X8$C{>BS|Wsp>H> zJ2Ex0GB>i`Gu1UWwA$-CJ=<*uf_%|^km>=5JR#Kp!UO1iv1-Vl?9x$KAiY>-ooNfH za*gRM_%A#(V!<5M$m^w$2ECEqKZ0MkHFN+X(@W`1d{H&oo}CzSYbeU5s;P0u$dpMG zo6?+-PVRp$4k19oa5wHti@0R81sht>LTwpqLq1?sR8wX32bPWy70tgla~4 zi`;S(f?y%eWFM%%MaJ)G&OjIv57<&^RESa0J)KGUyt3! z7^n8>NUN+@K|cTu9LNh6PlVEFlGR6MTRRV}Yas%^=l|?H!HurV#dMZAyAa9zdY*4D z!+mPGzoQjrS^aYQnpE}%p)MyMwIKmFYuR&=4mwwpjf<7X5KL1^D0nYUQ90;2)!iHxaVX6)RV?SUU_ zC?i_@*(`L_>G^|M19AQuoZ5$Q);T3Iq&p(XbeN?Djlc_KZLN_`hi;Ga)O&wA z%eupaO6p4ddlZI37QQrbi3S+HulB8Xq{8Z$EU-*$jWpOiY4-iCmg}43w}&Zr?b~6H z+2*SRM-E_f9W3x@eN3*Khyrjdw;UBtZBP~imlCN+TUSzEV!}HXr286)5&f1q8e)@y zPYM@qr2C>8%0@BXBUgMO5Rc)byQcN9>EY`;)ro9|M>m+l=Rg}^znSf3maN22Hx6zQ zR-0*!OcQ$j>p%^;-NqPF>1l??lySf8S*F#s=1#oLtC7CxpK0}bc-~{9fam$wTN_)m z9A}atdquA8G%_E*mDP^kerGxxG~4O9$@WXKYcl4W5C|J9gAndJdXFrtX4MYFEE1#P z_q1Qv4h+%uBEK|WP=BnJqjQuKgzJUt5y6|=iV~J*8lN7kp2{*XepF50yaMNHlp!wR}a=t_yniIfoKKF)rE5k%{45#kMuf z!)^Y+4ogot)8W_yrkT(5ArA>J(Q?76ceI(^vWN_!n9+76H_#NkMZS@>9zAJikk~#^>s0qN8y~LXM8;-@x<1Y89pUu{RhPNtBRvN$q(ddCP>h7RQ6}J3e zB&0vqbr$RxVb!?Rs1Le+TVNmeewI*#6p@kl%s@Ajq4jM)qmk1BMF027tiaOl~j029U3``Z};cd~Kt zi!lA0$W2Ej3Wi4H*!YVu;Ui&qe-WVbC4>&pcl795HCr2#lVU>q&vp9pPhO~E@=_BO zlcS930%wVRc8dnqowLN(I5vbxW%333D>8{8#?6H(p4zDLOsQJb^V)3drTp7%Wkq4EhH z?b1{f$0nRUjuxy@xZQ=-CImzHrt+E{bfD*j?X{8~P)h9HiQbP_4S zxj4WSVhAytQ*%S}2<=3u@~3+z6}E3qK7>BZl1ANB^#!p_VB3H}9wcQ2pp#Vaps}QB zn)UQenRa4|GT+@sm+pXAwyG9m1Ps}0=hl{r*1b1NE8{`aKD#k%)8RhBdRn@^&S+g! z58b3!UhvlpN^GCZ-TVYe=}nn_AyEmCC5GZif#Avbc_QZrLk)hnS314j^BCzKXf)ui zQG)lN1ogOP?$=s%D{&1C-kDmftKoME4h$71+Of)uI8Tl?3W7J6DS%()GE7^@4{$@V zjP5*fu~Oar*hyql$Jz>riQu^H4N+@R%dX0fe~_#Z1w}|JW{+y;@E{Z|GZ)8SIpRxtT+1PEl`|M8; zqL(fsaw}1v`XmCs7P(x~`+{*T0sdx$J#B5=XsBABP-}f<(+&@Zs^CYf-+M@W(UjKA zU#)%>6m6^VJc>dZ?UYoMWGA#UQ)ecK%wnqSpdm3o+D9}?6|IfqudXF)T!Ce}{s$Et z(e^?l>`jCOQXFHVxjEa|dIpeKp7Vna+$WC7qF#Bf5Qm-s!7OU>@7KP9YqjV7^i-08 zEVo*n>$G9g#nrcEbI;h3;7X@C@{b8$PAtjasc6_DuqZ6sQB!)j8@-ML{XnEKpN9nrgR(EgRsO)TS*2 zD=3#A#GvpctPPlW1P;FW3}6JAs6qek5&jHoB5RRKg6{-8lq7n}4L|mN_{#C!8DePgt94 z(!oQQo+tFnorpX3a6VFICMv1$w^-jkDZzSSRB@w=4XSO|W6OBV<*tkDyn$R4dC0`SgoGSD+s&aeI|Dg%GiLUI9I0T5;^}ujsGu&Ifk2yILed zFc4dnc9#Ig9;5V`DJg<*xr6x)WDYvFHhS~SJt_!|#$0=hm0qgItj4M^yzN>ctBImS zQDyP@JSa(b2xmc5O!p#{Urfck{ey#Duc(Gaui835s1SFl5bikasA!~V?`~=_VcI#L z;Ohrt4B_cc^!0$hTYvbxZ*^{_JGi^OjSLeR*4E*u-q>wCBNd0tH61~Oe9%{WTO94? z!#QR(=!HQ~V0JTGxS{RZ+-W?&JgH+%y17B-z;{pB0g&i2LXNZfNN@$+*jQbVMe1y)J(NWXI zEdwkyA{ivg;cu&}@C{D)k+ogYSbk@oVP-{nl%L(1CB}WWU}~3jO>})0a5EH{C_K2k%|GQjB1YjV88 z^yzt#Pohpf5b=^qGkAb+RK5z;WCZmj^o&TVm*^%Wtwg98?jL-$J#|fC&XB6Pm=Q3X^Ut=1(I6E$ zCFuQ2tmhra?wbiO;$FW8E4oUfq}e;3Dc^*d-mOLG`)wu5@d@M4<6t88dMRUC@ zC^^+5ORCe(u2*xrT$6utZ`&##`23ia^|R)# z`#fD@Ah~e<+w&%WgT%=3m0C$vr`dNFFt|z2m_--lIkQ8pF;*Eu-ptaTnwj8I>Kj9c zkB*7l?IRCBJjCLttEWG+R*VbR2Z?>@ zKn_Q?hqxJ74x2n5qDW9j!59PKQa?cMvNtEFd#?I{VIJg0Mxm7FrYuhCk9`T+vzBtE)_(;CGb>5gY0GGH&%A8kJqvyox(o(y`8FA6R0TZ5=+Wm_L zmFLgRSi>WmTyh_%=QzK!;olChPl#^sat3+RTdAbCiVut1=d(f{vkl(z3wyBe{@e_i z;qSQ-COv!Wk4o&nibadK(T!e)X?+HNE}i11o=3cKR ziF(0T;?L<2CwS=X)6vtFtce?(IC!_GI z$jG!*->$d0FIZ8IOBJDnP61WN8~ilM6sxR5O{s0#=^lZSMX`m zqT<*KcNEp&4VNt$ON<%#nb?B6|7>GRCEY-BVJkM(!ogCV@v{{Q_=Q7o=uNJ9pmy)* zj==zc=sJnNzEo)jmh`E{`0s1;;NtZTX51IKZ!cOv;tcf$@pMk`T;;;CvO7r<=hSY; zMCW&XBKxe~W?q=HRoP(DC4>t8tx`Iqr_3#unb?OFmMev^Q|6xHlNFVWQ{)+{X-zL! zrDbbZ7Lizj*E?HYHjpF)4&VGeS#(Pv?*4e5rs0RyYW4K@Y9Zl|B@3N`FGENAC{B3< zcFXG+S_ThfY!F|e9*kG8sOPP7C^^0!Ccw~9ZJ~lUcxT^Zt+l8@RvJX4DeN+;H-3B_ zPJB($W_D4f$&xeyi}tw3o%2LVk1oM2qZiOKXP8P2e{5r8iI;IK^w3Gq25v6s|IWmJ zZ?!|?Mr7(2kHk0z3I6)pu zFyhk9<1jjGUH+2-I};xiw)%$LRxkOjc7Q-uO?=XC%Km8qDt8rhR4Y|x2ZQo69iO?= zL1Ap=7=bp;!Q|y^)!dsqrA|70IOT?&2ydZVMTl0!CJ~P9CEo_GA#7AI#eEiWOMXzu6K7miW<$Nr7*{v}EU^)B%+M;e(Bd+U zpV&!hCofNoe^yR%!lu}>d;BVZJ}(zbw#?#k@V=@sIA&PzcWLj|P_Z_qx%9oe?%CuR zkvJDW0mmS#F}@9n2ytu}6!k~}GPmiF{@A6|RA18z;U-a=IEa!do=BU_hGWsCV)?-M zi-EBp_?`&kcqA&lY-~q2=d!ScY02!QYin%W%Zmg!r|{Rb<Tj0481Md+ll~+ zhqO*x7-@lXx$4e+sN}%-*yyQ3Q|?|MF3-zec6kglJTGCs*Z|2VwNx36Wy3Isrhi#1 zD*e~EtvgNZuZcROX)3<>6U%-!%rj$k=Y~4-%d&q>6=!3ufKq3QqnyP6G}OfBt2cGd z=@c^KL?Z0`Y=e3Xljz7rxY0r#Onc|W1IvY>{cza{?}WZ^h;OBB9kR;x<6p)Vg^};| z62Y1b3^EVy7e=1cg+tx|rFDwA)V=-L)zn|RwCLJ{wY5n+ZQxUB`>?_#`5o=E;)@4P7n9KptO_^ct)%_;vyH!(MJ%)H&!`sQ1Jz(=#<(4e^tr90 z>K=WDHVpd9)+fOm=6@Ly;TSrFJ&RM0gq%$1z%eqAzta31_;8L zrCe#`HPyoX3G5tUIL6YMa&LXd4F1jl>iu@4jc=-y_4SwQ)E1G0+zab>fluAoF@J3w zc(i-Q{g~&h&`3Wi`KF^gOWhTQ${sW`LWz9R!2u^kUHoruWId;eVO?621|ChV*r{#1 zQ*|>x>{T^Z>}EJs;X?LCFl&&d6I^Ra0Ipon5sXgHmXz*^B~zS6a4?+fD9`}2UMM!= zEcm4`IE7(K8(|d+!$X|~r^k`}g>Jt8*x($-(;b!jONeAB$~mU4YDiXH9fM!_Zqb0Q zsd>#rZLi!m3NO??{#ql75}Bs@rf)hPpqw(_V{rqgfM^h(AWjP1NW@ZV(nlw|ynlZp zBNTJ+n_3tmi)r&Y*w0TNW8z^m;#M?xBGJIr9-+;&7k74c)`qzm_Jt$7=u;_-5IySy zQl?9(%?f>nt1ISv=y0>2(rI(}#$xQCkLSreHLEJ$yL>cLP)*f^N8qu~(<7RvaPVg6z6!MedV+(KVbRAGEPiib*~ZVmC+>yD*aq+?VW1P4`%X^n~wLl4d=A&W51{;+(W=H-X|%*NgE7>6vG zE?iROFKg0;SR)}~W$ckS=@8C>EZnx#B(3QMzL6qv20v%a*(T%*L0}>(^vm~!O7h&^ zL+w$;I6_9Ek@KoaMdUP*!xU3CBahtw=bG{w_Ot3Y7AU`3@doWY=05dy0=SrM-|fm> z$x&kHDQuW@q_YVpe?04*^zVmx^7qd%W1Vk|fR|(md{yfhWl-Tx@6jNo58nerwnIsI}p3+Xi*8jP_5F@&Vs3HKYHhx=E!;7 z+DV7w0djXzQc)p_hGm_yCLpf3HIv^Ng8_rNr6_u zKCAgH!6v&(QoOcwVgG0M#t;J+yvM#ro|H`&*%zq+fW+T*G%bWMw(iW(Oh&2o-Xak&B)#m9lS%<4yIu(NKs{$@23ZTv0xo8DKJ1PD#?A!X8|VegCRN7{#W>yV+K7Kn|s z78^oX+oQtTn_En`EP1lSbD1YXnK=k>xyA&Yp65k*p^3uR%0>K;M)(Fcb`4x z0r}+~)#@l+2~xG(492gr&j8Wtf1tCkc{Db$(^~lB8#c_BHcG&C##8;~G7-KA%)&M< zb7ELxXxGa|(^3~;4AQcWO-c#+qOJqXNzJqxFH6y@g+h>9hHP&ss1nKm=MvZihp!3o zq9U3yCfa%{tf;5RzzLTN8Y1+v8I@nGwi2&P7Pr=y^7^ZWAvO% zv~J{0Yz?!qlzBS^UTfU_l-&aaf50EdgPzasQBhx z{}}8@td2%D>rN*f^tdi0^Nn?Q@t=BhMR|wQOv(|4Dx9RL$H*J1Km_()_r*7JeltzV ztXo-2VRKWr(0lrOW@Q)&w*Q*~w@k;JtsckE;-dw6X0_|j2gc1bw5?S-(Yj?w4kyEe_-zk17il>toPvw^%j`D@Z*e-(oxX*R?|!x29fEzDkAdt0|r( z$3#xHot#vZeislHqzw<$oIWT}Prkxt^(Vrq zEgqYF35hQs5uB@d65W13-c{UWFPb^s+=iXaWC*Z?Swvz6i8e=CP6rwd^V|=8YSAPM zAhXxaWU#An;F(1@7E!Ni$A~xwsI3Q$Oc{zSTtL$Q^>sK5fpnZn5^W*&c9NP38s( zFi9*g$iMqUJyx2%fXj$YY+ML%0Jg%7(*6~4ONdSGqKj1iE93_NlHr^_F!cBM#m{2w zjSztH-2wu2-K{7Pw@#WOAVgdkkED9R)Tkr}@9i~bV^EhBvWXc~r&r+va&JwQ}lty>Lt1XwfMQjnhhfb0dX&i+M0 zFokqZQiGUkyCK-%#VgP@5pRDvO$HH{5);`?o6-j%FEjYcWH= zKr%5!gzsmccW!;86Ll90M~_{ z5xJ4j)90k69Y@z#B?p!i{zxf^BBP8-7DAo(&@oMfK#+0vz|vgH9?!Mh4mvnfT^?PoYF6l=gJu+RSJ437nKy~k6)b`|RrC)aV? zRYLr8!XpBS@SK8S2G}Y@vIiy0!AI6g=ZaKFp=LBRU>N4K{+R7v0lQ_ASDU1i$jY`m zMckaTPd1=)>|xboPJg?lcb;J-7WzaR|MI!nm&nWxap~G&74RB-<3hFsho!ggth`L} z>6XywQgF^MLh4wV=S;c}{Cq5#Ko8Qb zCJ(NCDZgxF&%}kp)V52DpXu-BNounKngipZs%y8XVzN;SX|gH`55Q9!%wHXTy;gZo zw?KX(!M}h}1#@j5FknHb8w%?Z9hHifc7W0BxalAXN(2Uz^EHFsCw7ff~7#AGxF0IhX(}80#wsSE-Xri}yoO8^mQ2mH9|A?&E=2@w;KV7KI zmH6RqEq%8fPIPzt=2k>0Kksl0IToA|_Cmczmo-53~qOt0%d^8%c5X!7- zwV#NpuC-rfZu*PE;iNNn-S5RW@58k1IKUSCuIs~<#P#erqP#EbOqCY-R7|n1qLTxFJ z^LcbH8kCfkd0N%oF_+yp&A*!BqCptA-A2b~652+F6dUPsANaL|r;eFOm20*#Z8EDB zbOqxby;25xOW$>zs$M_|Xr%3UPkj>z2lEhsF2Fy;1 z{cipv{MtGHwXgd&9Ti!mwfKHCkW_80qd86A@}N)bHv^KW-{tS#Plk7@i- zoA}`Y9~LDmMv*Hyrw_uxikEeue}45InR>fh^LGRslaU58dUPhGPBBT5;ie$-;Y~TQ zrNX!>vWj6X1Kk!W;@G9%sJJtR+0938q+`2hTqdnZWAxriO06y_v1FM+)TC|XU*?(VJqUCQ9*7IZ(E?g*K5X{QlJOa!8l9OY@;B1IcjgU zrLVF!*NoG1_;;?ql!+)o`#{xri~TBrc=+hFz{bFlg=bK}u)F@6b^@v9$WnkZ!$KUZ z6A0)BBr9~`c!}I_rm(DssBiOZvftGL5-|>JtA9;@a&8Je5k6^P^fGBoZRrcPE8bum zT{8($3PzRu1rUGTeSc*;;Yx@_a+VpR)#mS52;GGhrKiFqAcZZAH6#p{JMdSpgkKfj zL%Kr7^fli~Icj!h&ufo#{HIg-GeaR;5_13=Efc|^`JO}W(ddl&BE4H&)6@xRA((}W zkMaUMl5qpp+csUGi!KpxF=3)wT0ZoCzGL$a?WB*{WL|lH&63ev?D~O1v}|2g5em8~ zpFf5gVQfa!QRDvJQbft(FN;ePpU4EP6eek|->i&l|Fk0SM3_l)onvI0$16V#>rxW5 zUB3StWvtAtG?cxie)sHXV2?TVHX1V}zvc%Pq3{V^1*{!-eqwDYWJ+(?>O(sMG?X)Q z4)ROhJomqzVXAFN2kJfp@o<1l63r!l_@3-27bdZ-Vf1;@-!p#2EsgejX|8=xSJ~_168CtHiYMFim zU$#RXOz|3O=PKX!kuk0fLgoU^3`}hC93q4Y zh}T{sbpkH!6vwU76yDB!lA3)4m1LD39v@gJ{lVTpI zn%G(GC)GQg?uf^knG2?A&_EMB!ym_Hz}4y6hofFuPSfsHV%N;y3C0Vk-` z*SMapws=$k95qNY&k)&oHp1%HI_JR&y1mvKal8a#~#@s^L0`byEbS?E@#p#h*&Djb@5@ zr&2cmga{!L*Q>S)QE#)2lI&M zrKM;`qk$S_z1iYu*u6&9^6$fXD~+z@8flZo*2~nwqC|xGvEB05dAa6hyW0cwU7COv z5APEzWLiL@Y!t`j2>GvB@jmhR z&UH_oTsN#laZ`iMrh+t{LgRQf(9a9U{?y|NUR2eQe(xg@Kiqxa-!g@^laEv_m*_-G zNZO_0gCsfK$cVoq@PFpokua@;<%a+gOTSk6uXusl#&>f!NR@_70n+Fr_q|Myt4Xh} z1f(xOeQTueHai*Ks?HdiD2Fz)(xesd=ItFELy?>q8mdPF2EGHpwNdAeE$-kWyGOTJ z&HvsOFA~*a5X>!h*Cxu`Oka&zmEe801R!v30K{9gho4_r(t7-X#DwB9{ZLo zk%KR$>W3(Vd;Cz1G2jOU!EOo~k}n|Ga`5OAuaZM9fFEz=<-6 zm1xs`-yFX@ceaz{hLoi>Rvfs}=yrC(oR!?xVMUi>4+fGo?@Yb-RjaUO_?mN5HUslG zRxiGUdrhWRW1$RZwU~K)gLGLjn;Sj8U*@<(n8;mh0`8{N@nNhC?GLv~;Zs!$;ywx$ z6+M5WGc!IJ;b&VhXR?v#V~E(io_*r(MuB+m*@2OFiXj?IUFH)9 zFS)8Yfp`<8OryIs-OC)e8QrE#gj2E|kXsh&eb(!sP zc?#AWqE@%}`qQ@t0KNeplU6*7sq*okvN1}>0`%uG8cAR$>WTC?eYz6EBROI&8 zklalJW5S(^p5I&AAc`9Q2T?$-zd~Kh{hV%{N*d&2sX*)*2CZPFqi+<2@9Q^n`ECKx zuZyS5%hc=cBjSd(3-~|_{6ITJ(#~<0sK$ZX>k!4m3rRgoB)c0ntulz?KbHV52;NcR zY#r*k!uo3+RpW2KQRl*%`N?<7=nDXa;p7w~pVizev}hXfEGZ2fRs^%2h_hWAuST%I zSn7dWs@hW%oi!uHrwq(6z>jMy;J5!$T!7*I_lN3(CYMnNOTcRJ@vKOEdKpWRv=!9W zOJp9`o@9IL@qO8Y-|`|?ccbfDqkV*}%T_ETC`|_#4idKrwuw37J##$k&ixf+WaM_r zNr`orTl>fc-mpt~?S?z6NqC}k9e$4jrR%k9^*uOULX?qCcp0Jk!6<=QQV|nH$Gi#I zeoh5SYFLKzXU~}{#{ufkkn|(E3U?0Ngs~D$2TCRx-4zL+c$3wLWb30J+y@O+cpG*E z4bEWVN)NPLd)8fV!wQ1x^?(?TvMFR8wcknf{1B&UWrGstf}G+74~XvPUBi z5o=LY5N9+qxe$%Dho=1TYC-2tjeH=)-0<5WFt-`{hRe6>QL_;_HkD%IP}eppX?7!3 zxd-W7_Qef1rLUl=VW@jYn?Rvcb~-SDnLchod(S|zER?2s~t+6n7lEQ0N+HWMx0~jMGON2Qsrea!d^n0EbY z7j09cjFI(Tv?YZ$*C~&EFtU5Lc~V|AdZ4?@WuV;+mF5lL^VgVqNnPM#hl+|B0V>n> zju2Ij%S&9OHq7Py^A5P@HC9$X5m294{2D|dt?f8oHog9dOLL=`%(QSlO#CeI8}y$% zxd!Sd)z-ko5C;wd@&Waqe>npKD|;(f1B1U(Ws9o3!yy++&xZyASA;y=@;26)SqzbB zR4Xh^vMk{K-IN9k9o;4hN}PJ8@0R?SWQRlGC3!wO>(@w99Zl01wgu6z{5lWrr_Bt5 zJ_-&O`Q43ttdn`Ia%v4?_u7{eM-nr=+nU{gr6(Uz7hyl{Z0ALv#mx!KcR=h&Z%{5# zvk&l^11r>iW-qTp$P3&%vT(6*;)!D|W%K;?Xy+-;rwID8leEa<@RzCHr-LF9NuJ$I z$T}w|S<$E!uk|YKt(&Z*MS)yQ$SyZg0EZzG^oQ-ch0r;#O$7^u`oy)xF=9C`{O4*@j{Tu?(ybyd3Y?9Juw>Jf1cDsl*&wVk$ zEbxXbUIW*0J)h({Kv}e81ht~2OQqarw|i%mxgCxHe4}&J#v*&@4$Hf{I?%`J;HqYc zDn874*OiwB?sP!#_0%z{$B%yW6LAGPTax55Tv>Uwd%g$B1{^+}<7Le#j0FKV?>T$a zm1RqmSUrJA38%!962EAcUVKRTc2L3y7%J~#l=1FV9d6Vd2-|X$Y|5!|sme0wMOnp{ z-;`^PkAZ8pY)$@ZTxqF=$%CE@WE)!qzzSBYg+UhpU@4e{MgZFOk$yU`RFrDLuh&(3 zf#AJTvLjh?kr`Ubr`@`HKWj15(u#w3okt!DD`d#-`=Bec7a7sl(S#OpncFx180FD0 zGt3ELf*hp7jJ9w~g413$R+E+((493?Fa1nER-pl*Z{$;_OP*?`+3~7fp+pY^J3v;q zK#*C~8jxVqoar#kg3I4gzy%8(CL`@I#vKDyy21}BQMFBGuQCl-wiL^Hc;eFQ-+Kfn*#3@hpEi zdF;uvG85%l=DwU|#ufy=Fj2faB6LMIJQ`+VbQp*d_J?y; zr!6>nuqw6!sLG$>1K2gwniU$L7BiGx11(M!IuP^1JqiOll85`9g|_?;4FUDCxx+S; zg5?~2ha#UHgfS#kkB}57n^O)$&!>m*I|JXRJ)bLs!%{W^M?7@1g_85sPdZe-%<?13~@j0Z}$U=YIAhgu(~{Pyi&_ODEU7p?4xTgHWU^q0Vo(2rYdDpWA$GGcg(*^ztFJ)YxZB6HS{PAeMGuG|ZH%6>MHxkhM zITz1YP4gQ-_3i5EkEHlSZCN22Rqq-l-dXh%%~!*(wpypNlv8MxlR*sFSActh)3Aj(>+vBVF?B$MQ`q=VGlE=bQa|(>9Nd0uVBwx66_MSfa|*}h-;a+cIDD{ zdKU>=+vn^#4^cb_#$7s%q(f*J3TlF`^~1JO$kA75R>1jPP(k(f*QVVl?zS-!BotbP z?FZ!{>XrTGO)2s6bV7mf5JrsB2!OVcqY7}{VtlSz&U5CnROoevXdTQL*8b;&7;0zH z@5IMMW7sMwQ75s|YlwpEpx~;J9kbvE5U<^e8jA!UD~S zT1JVAf34ci4)$mD%>Hp)W!#0GXPu>mDI&k^Gj@f*?(xv+hlCC}QAR!Ty4?-oJ(UPyDiM(g=71XvBFIGoaT)UHWW3n=!pYbp8XA$N zyUeKEK8n;?~nufW#VDpk-@U5-=P^%xN^7#&S#{x@>2aFJ%*Kp)e$d}@q+pN z$B~tOCWqtX z7x||4tw%FZU2?=B$$@K4il@5&&4ZPDf)FFAj1r(Wsel2NcyvGdo!$=CHEY0SRbe6=la2D7n`XSD7y_`2$4_Q*^_tg zDQ{-81A(coq^Ep5OAvyCV!nxRG)vj(Iq7fi8 z_vGf|iZbLWgK29(ZcIR9_&pz`r$jzBpCCEumj+qU$d(0o*Yz6%Q+q7DG?Ih76)Mzs zAPhw0(eD&>CJ1A|A4DVn@xlTe!k<)Gzf7^HbRuuiO_d>j1;Xq*cWWDj7Kf^+- zf!I4QP~*Tinzivp3>aqHKz$DlVE2rMOwCX-W5oNzi6?{{Ss=)XK%?y)H2WRlZWi7> zXpS$kWv1T2xmywqp5HO3YpgT2`r+a#EUCX4?a~sdG@YWr1<~R(r^s{b`mG-+Lc**S z%rxvUO?EmTUA$gY!KCE)kE@s3_W4df`hhjg+faRwsA|ffrTA{rnCeytj;`x=vZIi8 z!wADrV&2r#6uBMQyLN`f3N^6zpQmh<9uts1pal5G5?;&CnmBF!BjIJy0X37&D36+> z7UR}eVw?^5Bc0%q&b&ItqF<3# zylLif_2L~@I9{lpi5eeWUft~3PP!vm#HKn1VrR$N*!_#j>sC!}j4OI5CviQ-Z6y^d z8F1HqQ>#QwNbBw&EqJNH8xi;HLwf7r#A?; zc1bnqXb{+O)0(pA$9g3Idj}VQmT>L?frtWY{pAJX-e#w9fn=$at{89_N)Pc5g< zWA?zhh_RwDA`5_a0|DKns1B-gAkgr+v})n*xTn^rm(;-b5E&?#WC5jBQt?-$e0mOz zE@zeoz?6>VLE2RG1p3zAyyrxunHP2V8e>rEWhgbcTtD#`Pc3V^}<2(K>=i4ndm zpzo_Cw07p=2KGWi8t8hJ{ndKfZ#7y5saT^`dX5vMitrwkZT18cJqUO;iqNi0u zRqJ=<$%$VYoiwsfy_^R485{L&DuL652IM*d z`8g>wfS{__^d$sJ*p~ZlLeD|s}lquYVvxdvLHGx zAV%VUmXi6-RI(JSOJj~A;0U-7r!=q8O+{3)aqna zBRpdItT4~U`#!Qg3~qr5oASmE}F)uOu!m(`(a`^&9NprI{E)*v#Eu zPYR$QAk6<$n*Fmz_#g62K7K%Em<1)ATKYQuPk5qdR4iAKRDmeZ$5!lL7;s`Mp?Gpl zEmjNp&t|?q_5GlceVl=0_J)GtpTDPtR%67OR)sb_KwiU3GL*Je!r+6$lckG|n5|sQ zGs9gHw+aLU%f8v^4#cGD-pCn765D&23*y@v`|MnTL8VoW%#Tjwm$*36NWIl?he;)C zUOHVG3&?xjC*>!xIjE0_oZ2_sR?dyf?JPAMRt&0S>K))z(#5xha!_g>!qjUATkGXD zm%ng0V=Np+N4cg~YS_DbrXGJu3zo8YRN)opfer=2EL>g3%Yt9CM{yTUw zw-ftf=pZ15bRZxM{|mf-v>*Qixu4pb4g{-S1?=p6d|kRs8mWH(*eGjlCsroW7^@ZX zIHC{6lT&b5uVtLo>W`VieZr6GUPSY<(xi;naf$%+c85R0ax<#{ z#G~`OWd6+i*tsa-q=>ZI5^4tGYIn;u*}g4RSO(WsanR(&)v-_5!A<)#w_86TgvE}+MxJeS0yx3C?3$~8>>>xs}u13uyWXT<9* zRg%gDDUTI%E?=3x0H$%VUw^bPAWu=>;4UAYHPR#$j-dt!dGkkk6+9GdVOk2&B@}(( z#BE_NqyNc}U@|OCTZfxgE=bkOsPTuXgXgnOJMUyhPp3g6`G;Bka&+#hMz+5|Y;LuG z7yf&aOXb4-(#qIgL(t97hOPy~PP&@f)^3(3J`T0&O|6(K1>~XYH2XG8tvH2>2OMQL z)3!F?1G$bj$2y#%`baTrudG)p3Qp8VNDgc$!2b44x024S|$6zIm zuc2e!z(<{}bN<5nXY0o0(vU=(N>_Dv9HPPUOi{<#FSZ#;h!^qQ3Xu~W#z;mj0a5ko zaiq_cD&9zi0Q(9rUH`^rpiT493??jZ#tj#*MNjMJGq(M^jSV+<>&h32rDtA_fB8;Y zulB}T^pmhC275EXB1vn4Je3pexehjKt@@`=9u#(@dWrN?_H9h2HdUQ*C66xI zrizWo(N?FdMwtdS{1ZwlO0`YPVuE)>l;lc_kFG6vZ&8KepvaiKK zn|`9*s;=|c2%XNTIe~Z1#Vc~=cHy6TzH|L5(_|AXh4yBF{><`+vMsS6O;-1?^N6yf z<&iR7JmuC3oacd&wx&d5Dhz~nW)KlzGhaX_syB4)-p@qCSGL=tn_9g^u#-=HcW}1$ zSXJAc-%|+D*V&RJJZqvsuMzy`Wz2^Xj{yIIA8I{ML5+_=1<+4!o_mK|eL-tiPxdMG z7X%_n<&bpLvZc(Mk)oTXMTDH-i|K`IC0=$bP3C4f`b(YrGB8XX`%h#hCgszGY;~6n zrPLzt{?Dq+=-jNTGoO_&mF!{*;7_}Y-$3CC_}Q1Dh`MNbj5_^}?~~=@jpw$Vc4x*v zNz5zeopy!^4IuC2yTiS?lFsiYy(cP*-uhTry1TWeD^I0nhep$+k3Q*QWPP%Gop41% zx+_PD(?3v-?6+hN;A?vm@5FYwl(~1=)x%t++Wk`Ag?Y7ZA2q2AMt3zwZJOuY6PvTG3e*h)<{1bJBJ#@?h&{@^eZ|gn?^UHg0Rvk!xq~nVi%a`AH z*5(ILW%Z=<)=UE4-o43bcAr~k@4B6k^Uv%{mgx$>JSHdjF$H*P!)C1q;V`D?k1>f$ zKAp)4P%z}qViOH`LMHH@-S`DV zR!9mwqWSJbj^I|OZ?oI3Z6u5l##&f2WlzcW6SBUUAFyFGmb$LvVph=|&TuwkVvRSd z_>{&(#!yB7ge9d$6UB;3LM zJl!clTWo<>Ws|?`AX?sQuG59Fy9NinBK`UX2i`d>08@~bmbT;Rw zSY%jmZ2C6|b}jUE$;0QN{)Nh+K;&AitYq^KMX zn29Lth9s#!T8hOmOybsID-}reQ2cW0iF`-6XmS=>m94lH%VXzQvQXaL-AcfkU6^+^ zv{?~a%T0l&IrW&i7(^^lX+>N@+McWqK!y5pNf0~hxl3PQ4cLri?-=4us1^*;!p@Oo zp+9vv^T2pEA%-zKl*YZz9V`0!aWVdsh%PwtT&^S(^bYHld`W%0_<%e8%CS)(@1x zTQx3(NUfHY{h+ZQ!l9oBlIDO5o~j*PPP}(O;nj3VT>ls?Li;#S7N&QmG0OA6mt#1ImMYXo1ENGQb!TLM)Z?RVI3Q0{ z-@)X}Uw+b)f3DJcynz%FxZ{cmJNJTt`ey|n0^aCCW(vEvu0haioQVa<@}O^Ot2B`=;}0vP2pE@; zf62RvOA4+u+oZhSNK0R|TTzfK&_+YL^k2We9g&9=Cz+bCAPnoS5Fx$H-*5*^0OQjS zZxa8+PEn(d^nA)C)8~)|30T+m5-^%kvFYP(-nlySe)9A(RZe1%2_Kb|h%}a7DO!#B z!_Kz_$8Yrv=1k|@*&L5PJv?7gKc1nGIaO9xhJDtZfx%Aztv92ML4;L5NVx3Q zt=A5LQlPa%fLlUp%Pus1sRbjJg8r;&KQKP%#1C_tJ0kN|Ao#7ng&4`nB=^nplOEME z2ljQt1SN4i1nK1a3H71yv=0q7S-SlbheB>l_Uy5b7y;GEF&1Xq}1pnF?`Pk zJ%#a7w|>LHE7G0u(EzZg0r^D=>+CZ}(CeUV{=(XZg_qS0<@h=yhmvC3~SQ^^EF zQi0nAnev_QH|X15pO?Pg#|6n-Rd49_;}qf^pO=)rx3j!9p*Nka`4HEfS(didxB*=F z<8;6k2{@#sUz*6}&pZSn&W|j;BBp0Ms~#As&9-@KWqj+E>mfgUQiatst+K2n_Xh+c z6g$^^r3u?MKtdJw5K-n#bhm%~V&N$Jv0=$FjF>a3BXwP%5uDAhR*?KmschImwWlMbjAQ`*E7=3-b zo3Y+4Y+{z5DQ{k^GpH=B7KOa4C$X^d zf!D_WZR@1N#bVB`_qAg#O zN4ItD`R@8<4EauDqN>eO2MhYar^|x_HVFw4K8c8ta+@gi3KF zcRuYr{e39-y3yt5&JSoTF(k#cK50WmAa0<2V+ys+5wMm;%om1`_j;>k(01|K2F57F zr9%&#gghau9E1#RS`zxsnU{gf;yubl(PCKF@fWLN)8pp`oH}vTPmwKn6{2b(1-0H% zE#I_g@)`ztVG+OB%&M+%9OJMZ-ugEq6u?qF;!$yL+p6uJv;-u;ZNKE1{!br_SO~y=Ex(CR5MkK2*{2Fw4%ZLc|7E-D{&^dB@IN{Y;8KMW8P$6I8jm` zWZhH52U6Zu($ylKs-<6uqkYq2GF{}=<=Wt*q>Dx50lbL*{257_KfifRL}K4!2lX$P z1gLM*lkvdNAjsVrgds%mMoF&HAnZZ)DS~!nNN`tcG2FG@5fs501;z}g^&6fIacpZH zyB5$YYg3`M4dKV+z%D?+G!JbT$N{ZKCQW9opWL*djel5p_5aG5 zdLn~`6CTTC2GufmCon9Mv%Jk7fH$r1HIxn#kH7>V@E1_4Yvn?A`dK8N+v!uHkLnt% zPaJ6F>uVdTV{!kQ;H>cb0#f$YyOi#4x?hQtNe0lNm_6qPxx;3xQ?UG$PzR3~+)owC@zm)G=j*k0 z6UdvcAhuk*=N7wWK5Gh+(WgfsRH2` zW@`Zh>d1Y)J7+6w8TAwO(Jv8voQqN5c3?kAT4M8Ll=*d%y)kD#=>+a$5M+?26ZXmD z_PW@?xKarnV#$tZ?fY-v{l@-xGfv=9>?IQ)1cYDU|AfqcTh{PjUREndxJ4gD;<4nja0lGeKNyD0~*XAk#u4|s4f9zGAQAgYBonD z;j%oteRgY>>p@v<`Go0%2xwJ!BCEtwepj?hO)w#yE^sY~r$B)27 zpcVbai@nFLf6unxZQCv54IzPReDCjw)8A)S@*k3nFU*K@te)Dt5rH1y? zT5-#9#YIybO_oe%`%@K^7wQYZmY8e}7EW%S)5yop@PI^{mFdp74n-@Xu29-2?W!A$ zymw)zK$;ruPC-qA8jI+xcO|Ead`9!jp^<&>y3A?^8hemziZ&ba=eUu$&KIV*@^%-o z!+5?3lRM4$nuEvim>&GNnF*;jEhJ7W zb}Q+@!%+{SGsra&)%sctkSkhkJ9k0vQPoZMBgjy6E$UWPy7&0TR`L;4MfOcAcV+bV zTJu9%{pXIHN4`nQLRx#dv@z))6)1?TJoXUol}Blp_LUevegb+1u&rP7n9@$LCpoho zH?whq{zBI|K34)5Ks?69cJg97FLqvdv2EMB*tT`CZQHhOI~QKsPCs;}o$06j6Lxlf zv%B6jZx6dw2rKw~KB*cy-@`AJZEd<|uSA{K@(Kp_Of&5@>MhrL_Qn{-g&h=)iZD|x zxKOR~5C3q|2v-mzk5A7&(^GalbQM-i5ZDtiZX6J6dZ8lu^Zn2N_EA!mC- zWe*m7X4Sd;U8=50#a(kuNIsG^1y~?;MLm&TwL1bncySTaYdZ?n>^w`@n7Mr4MztI| zS}O7ak8IU@Dh=p%0vWT`VMm`&NVQf#89GL+f*_)teB@R)gWqOVvN7)xI=_J(y+8cv zr<+*g4D9SU7tE_TB$KBiq5ZAz{vN6CtLmuLouv0f5#ZKb8YevNi1!^c1N8#!pwh0? z@VAi`oB3rJ4cbq5WzTWVS}mLA36g%nuF^t+JWL$yj2*S-*s>WN6d_|&#DhVTAnx%y z_LQIf{uz;+)6j^nIDRv1alyMQtE6)Q16kXeE5DZ<8b_Fq0y-+fYIl}(&bDHxPct$? z+f!H1Ya;3Wl5{j-jQ`Nd_Pz?F{)23uI`DghWlX^cx$XDZD#sl#swCiWO88=b%cGOV zPoU5fg9hfjW(K+1njU7^Owsk;Uu>G!Tx{Gd{WYU7KxIZo?m-87W&58h&1MOt{FF-c2v<$7Vfy>>kBpp=q> z_rDDvncPq>@srGIeUL9r>e$v>m@9qYj~=2j`XwPnt1<+$mU=I8qQ2QDIH$uOF;6(o zDeyT>;M+9xtA~2uaC_^m>KjfsJ@2U$E$vS3s;!46z-{z1K$? zCcec!8)KHf*JFZu#d$+8J8XCv^}o4g!hV!zDqFqZ^K2SH(-tG7HfmUUwv-IYZX5yI z<^keMbj{dVGhz2eTL>>CaPv$r z+Y#+yIMsa+K9JX{?d_)Ct+TEU-jD)M)jIHA`CZ}7LN?#Bvz)6me9^%dN`~># zHyxLU>Ak*Cal-cr1cpxX*+RYdbhnYPuJFzrR%$Hu?+T|K`uL}v2ULcb)Ls%goD@z&! zZy1+1MCRWjZNZpQoaSH?J`v9Kim4)$Y>RpMfbt~1!0j4#m%6K-CReItxl7 zvyC0a>yTpXTi)dmEG;z-Fatvv#rm?!CGhx-z>ev-=>)iZf#z<$UPf&G19ki*eK$O^ zcAFp84}+sH@NAAPh{=GFm3B&veIvxyFk1le0x}$)vjR!jHp;-5qa`w{DO4$M(b=^Lk z`F_B}X=J>Q;jUJ|s-~D90p>5-O(aQvGEhM+1veh+u&m2GtkQ{dUYHI!-h$%<;Ax>~ z>WtcvAkC@UqQ+k*oC6Pv(dZ<)N2 zX19eyI3=%a?;qnQb~SL0$iiDKFnA7ck0!BKTkoZ8@BPnZPMV5PjL=z@H`FD zfB;_c%rtg+m8Jxfbfm+KpwrVLoZ=ztu6RxndNzjug+NW?{6kpVZU(Uhu_QOF z`5nj?LmW<1#*EiWqYD*^8KqkiZUgNV6N1DSyXB)`)Oipt^+Xt&PSd?vcdf>@_ssZN zFFXy{4J!;G5|FdPq4DwYdX{#Wwb6a0NJ_iMPTfbf3+pfU?p^j5!II)G7S zJ3B}uU}KzB>$O&>8%<5CF}_{@Ma3KAos6cJv;}&tz$J=4zl}N<{zTugVdbSR7L(sY z@y*+FR?@+Lz~}{LgV;waSrNSdWzfqxkX?JKG?SS`s6u|oYLeQUS(u*0ImN-6ArvJK z*IJ1BWBYQ5yMz0CEW)S{V#ijNW%w~O6$_|2ajb`=hzwb05=&TcgOEkjUWQKTv#cG| zJ#>DAW#z-VeC2WM3Pgy`l+x;*oyT2{wP+_Lj#D|su~8Q_{lgk}n>1qgDBKGk6D@(T zL~m2zOj8#{mv{?HF(MITB&~iZ&$!*4f53u(B`9MbM_!9zzl7zp$1O-sglMm3XCt0; z@>e;HX|^LP9+G{Rxq~|Yu}HRVx5NoszrhDbn^GueIGoxkN#KRm6}^*gE+s+t7q?XS ztcVg3@@E306f+)?_1qzT35)#<-l4B)VsM+oAcO`sWn<|%WmPPs!iZ|@-cT?CuI`|k zn*qf~YAYPd3;RmePbzHL6p1gEyNRZDjN$)^@`3eh^b&>MXO;RxAK&>1LpE zX#-DEKt9zjp zk87tVw~4sGcAcp~b$h0{k7{Sd>h%I?FR zuc4A;fuF$SW;pTfSypeE>~hTzU&StYIT&&;?rW5mKw;Op^B56n*xa)IS5};%uz5L$ z9m=}>d5Lw0prtN}ullMeMhlH?4X*ltUZ@LA-cUJE&CRBpl6X~=Tz$?*UZfu9%!O-) z+MYT=odNbKlXIW+Ajjx!9dVDPjiI>$~w;s=faL6&OV8{q- z!&H89mpU~Uqb0$hwvfLcISSLsaPvj%I1zB9cV|c(vM=Br!Yh0n_w1Sy6aORDg*j0BGPISK%gRX|!J07ELEcqRie@nD40!c<-cKbF%-vT=Ya)-tj^wuT4?Z ztNoDshz>>g(fS6_S*PyyU_7o0CbAj6A3e}%KsuJzjxvHMLb=38--kw1lR>!J0*{!n zL~te&GGK26&>4~ZSi_>v1QbC3g0KPi%Lq48nAM?a3}F6aiYi9;BMd6I2D%@0sa`+Z z5!pbv^&e9fd8v2I-Mo1TS(s>Hn!{jr1p}6F?1h7ld3A+yG3sAzi{~}Mefa080cyy9 z9=+g$$`a?i4%ur@loau;6fwPs7)#&Ux?6_c-O5XipLOVghyFSm+f#wX%G*C}YQz9_ z8Iv1BGxBlV5RMcgl6(j#1%iRddHgWeN9FFCDps12T*qk*LR8y6?-XsV&j7;p8)gYXL_Cg(9`(xs~5w5BLWZ*CpdFAGvx*J@N@3a1V^v2PP{8Ez=!FXf9+T?4#iK(-SQNf#nv{)?QUlR zg9S_wC9Y&Za7rE~2t^{vi}u>cV2UJb#t%~C#}CIX4kZC9+o8;QIleoJo9d>SU9;>s zGZZwtbfS6HyH$2=62ARa6dM&@uS=B?D3YP4Nu(aj33}p@;_gkQ=9APoV;TJu8s5hr zl1>2*M+9$h8xUn zL=2R2z+};sbrVK?3+u_EGBZ+iV^)kLF-cA;A`Vp=cyl5Su>?_-x0i?GkFg;0W^H`# zX{3~dM41z^c%s+thGGxCe4)A$VGiJ1;&;NS%Y{LlD_vP3CVB+ zy*S6z5k#9k$s)YHsL_ivvk&)2ZuZn(pv<1gg$|7`gM>l;b1+?xm_KaE?^ijYArEB( zzc9zs+VK!CYNhEnu`2xCxO=GL9dWC*w;fPJwlUWm_sDI*`jj8GwT})*r)TW1h(n~p z^`Dp+0+^o>hp?c9CHh{2EXTJ%N4Xsi{1}oL^;A*`UYEhUSf!iOaAVc7mCawj^vPr8 zeQc@UeCLjgjvTAEvHbk2w~^FtiIh4TG&^98PxKE_Mkjj;Cy6G8vi5}tihjkC#4hxV zkSM2&J#I#vqCleTZcIsXtUQJn@lJ@yRmK{3uW^lxK~i+TbJ$}v zh=JJ~9@B0Lm(L9V>+T4!KxPt*&`KYwjy|lof1>43Ug~HzDP~fBdv+~KxVZAY2QGCeC?&a$3HrqpYS7p!t{2~bXeZZ)zve4fXrTQ4!v3~ia z4Qi~}hr!n=y~P4KfYm((3mZ2^GM@-P`ow80ZtBE798})w1`#lJ3-76I{!y_2e&Dhm zTXy0xJn(>Kl|qo{Ns?mNr2CL+^|KIV_~+uIKyk!;By@&_Oc2%}g$9eznjU=SsLKP} zWa77Hb)yaJ&?wygJZTEy4JG1kcuM4|=n_^4xahnuqD8!(0B(I1?EZ#9^8+Yea@I*e zDpl2`gc$N27In-Q+alH$#*15e^fx0z)!8$mA>WweIi^fn==xDPH6&&fdS6#wcOmOa zvc_D7Ak2kHz(-SqW6Vt$H3~KO^xR@{V3UX|I^VjPqmUB36JAi)nEpVAmIj3Jg>dAW(?)ECQz(={@F83a3F=vC;%oYGoqPg~xt|RO@W37gKi< zsqa;qCudG!#?66gJLaHt{GY@(NW}40LokDn%<%6b6Zw96Ix0Og5itmPYY7q~S-lzI zVA1r*bHi;ACUN&QcbkEP0X4aO8IKrK9WK|)NK-;s4*%^`QKtyl5EQA+sLHtvafEB* zgjTdcS(a=7P7&#hOcM2`H1tZ=c2xhiiygwgT2c%@$;m{-DaLl3WiO4@U}wtMKAVF0 za-9ox;kSH@H=rAsR7_h@v|QeQD_k+MbxjBZd! z+A|g=R!`j{qt?jq)K^IZyRiL8RRm2|8Put~y<+y#enZiYgZ@ZJ{UK*1`61gl9Bv=m zj2RbR1dQ%de#2!j6qZ4bg*)tAHPh@5*70<>(rhn;tYT~0pJ^F3FrMU+epWL#RD+@F z^-h210<6P5HoECDx+H(wCK=%l>8N|@Y2)2*h$6=lY5^SIi@tsk5pwc!KMLpol4cV1 zknF4z!Oxpl8>%X}HZpM#Ja;;0&Nt1FDUhq-GZhx|h1V#Ya`*Kp$#p4Ny%G`%^N+{} z)5baAwI(mZu_ZcpPxnhW&5XWS7K!55mk(Bci#UdamU*H>l*TRk?PQRjU=uxbP7kr; z6FofhP{n(4n={wM&@eCyd{xhICXh)Nr723(x+8}9|yXDvW1+` z%t|TEs3ymqOq6|yH+95Lc=J+Zt;D|~D9oISi;-)RP=?df+DU)9J)7}%`zk}ELA&FU zi)g!=F4&xC)6f5MXh&#{BC)s}j9$)b?_}tH4R0Gb;A=E=b9wy7DGhNXPn5~I+*j%9 z4UI%}Je7INI5jrKm72o)=+uyi>^ja6cVzAjOYcz^s0m1hH%u4f! zz6<+$+E8Zw{jnthzjye!UZzn-UBdDxkv9UsuAG}$$YeD|fM7w01Ec$@e`yo9@Y@#J z%*?vgKd_{itPJ4&sSCel&W@RbaNT&RzF^5O{ZBJ9?%PbB#S-tiq}~YHeMEGreF^@e zQq<;3>7pdG=cyjz&#rk+cI{k3V|f0aDMr*w0L)%+rb@edwoV|n9***Vny zVuX3>3F0L;yJI%KpRgow+a~@S;vs480dhz5gP|49HZ8W3<_`)peE1d|JX0WT?@w_f z;hK{NOOD|EKse73-gS>IsVH`ikWbQ{-U=*?E51)R89neB<7W6H@kUV|s`Ya*f1K57sz0v?_aox_c$S+;iRsN#kSdwlt=TlnA|K^$}z1XsY^lvBKrNAk3A;3AC!XdXt#lzE- zhGeC-;5|KdwZAzAeFh41b-8-5c`FUR8P;7TyE5boIh;UYRpI74W073yu?mHQSE@vU z?62;90xN9DCIg8)yavmH5FVf%RZNVH(8z2`^9owTXNM+EkDf9JJgfjyg)+N!?Vnr$&Olt@kRk9z8}0C zn1TRBK)S!JvT!-54;4IVujKTABbFN%cXe1-_+5x~%u8(lAja#)7Cr0!X}{IV-f9)k zV>0VUOvmsDx8DN%$w;%#*yq-UjU-%r~_p!63T%!XqhbQ&A-L9DB@ z1eLH&bh+tqb zBw%2S{}1r}XWi?65MPVdR6L<1-d&}itiqg$#aMO=QMIY#H4Vn$Ofp4AEW8&tNSaE? zm<5m1>P3F#_K&B#x9$$c9TPjcF&RZMg)S;JvXm4J4}jE3R5SHS`B(-v~2_Yh3N{fY5Wsjyk~lKjj0pdg(b1K&{-CL zDo@ev#Qgw8BAI*cI5;%Raa`Sm5iv`QBDP21AGs$8za{c@y_ckjoH)U7rxt{ZWK=oLf6rIo^3hgA^}?n1D@aHjy)o@F~5Ze zfB_0uD(>o{k{_Kx)ebb}A5?Aa12fP!8km~CI)Te|qOmhoibpgVA3*4zeaJwdet1?` zh&ZGsDrQX|1W>LQ0>~I(OSD_vxO9#9)rtq+ej6K$)3Z?i$`jauRBbx?_Vd6S&EhWy zCOcaLZl+Z&XHl{{2pfNUDO0e6dGVx&m7NNO^@qplbjYGH{&VfC@r`vGy3Qvds&NDB z;}8uee*?iN%oD7V?#2=E5n0U5J|vSw;Mn1h?GVG%S}X!mk{h^T1=ad;;{!vb;6rvf zj{P%(czcDvXj_}+^Y5dK{yr01779WwBOV@YRN;{WZB%3tK_V=h8HA&)S05%q&U)9B z!`~c-3A|q(<4TYZ>ry(1QV{UcOz`lB>`P(opv9}C_QOhO_sH_2YkaMR5VG2iE`FJ; z=7(Q&zxb^y3LYoHa2&*nu9uB=C769;#d^=l? z5mi68N_LZzUR(-$GCvneMf`F~Dl3pu#ITS#BcV#>|6NN|VZG#vWc9LRWY!hg#TZz{ z#45eXuPbZ|lw_!w5fBc|$w&o|W;4Ts&2^OLMFz20=iuCBlM^a~IZz6e+!Va|(ak>au>@ z9p*BD55`BKilBnMt&)$?BXaViHi&3zQf+%+96@YNybP4pZjYS+A+>jSOu@Kz!ln0G z;^XdSoKU2l1Xh2$-rN|YsW8n0Npn@9G(rw7+p8V~kH~de`)NIpaiRFuYx8IScYlkA z!U6i|u3&c@(b^8mx@*X*+gcCLi$tYFwc%QoX3ogBos<)5X^~heOJ5Lll5oi^GB!># zN2FlHh?sVkywmOB;)ApWI}Z1j^(1XJFP2W5UAU;##Nx!Q+{T}bj{#_bcoLyftmXI_ znx&Et)(qN}_z^nlWt7WgYunx#>Y}0DeyI=ks5IfAX=S~|X*c*%ku=RwMZ{Dia3TY1 zSkLU_wya)(4oA@2Ob#(N>Tx;k+0zJA&=2mCS|%iyn*K=l#eew6w#?a-H2m?wwpm-! z)WNr!`3LEuHZ@tz8y))m#vjpI?LBOx5lG6PlDztB@=)rqkTyR=NgG95Z(cfE*ZY}C zMh+X6LD0@Zc^geJ;|jtLFvynlWZ6>s@2xqF8c`{s0w}1e8hpfn>ZBX-K{{{;>c*Z) zYcNLv&N}ZUCDqxz7YKhPL#flnln!rOsZg~IShTB~pkrhH$1f$B-8z%NM_vA=kZwNl zM{Qw!o^ZOtG}tShG0(iLyXZt$b1?rgVYVGLyCjG5mv zrf4Z;oQ=vBgwP@@{CJj0FG$6}`0e$2xL{`SqA zBD?5eR+B7&aJf}|ZcBsrMAF8W|B*~)(FpG|0U>o6{W~o#zE5Kr0jqeXGVcFIYI>+N0Pyc z3@n_Rv{sV`kcvRk;wMCH)*O%@q}-OYaxVBu1}1Hb2v!WSNp%dKr{YX`O)7HXQ735gRWr%JwFcVRoOptN*wxqTQTREPdmzMuwbB(EKD7Vi^^Ha>+S^8ls_;6p8 zVu?H>KB!rDtI);Q9<&b$(25C_Z_b{%+8lV7g2fMTN^kZ$^v0&1(G+^5e#pws*xq?~ zkC09dae{7a<)=){ex=JR>~A4)mpf5wFNv%nXgiiB+lX{)r*)|}C{q$4zbY1A?Vm_l zn50aoz~Y>X*-r|rxnPcU{n}Yj39aw-V%=`XrD|+H63-n&W+K)FpXy7}(oahI_{sUf zHs_Zn39g-E7|Fp+rJcfoJGt}*t#+nVii7MU)cUpK1mFglWRA1$GiHLFzU^5<8zmtz z1BcQ9vevbHM4vRKdaoX#iJKczT5g=$R^OqzWi#-nJem!y`Jm)ijvfuT?PQEe0#G1# z%9+U_P|jY8IE~d9RTkOA7hQG{5`sXMW)9IlJ)K5ppou(V_s)g0;^?qQWdr|F{e-qD zl@Wp*Ksyf2LutcnbnliW*k=$#E=xHL^DYKH?t|{-%VSgjdpKT%_4@pRv#0_$hm5K> zI#{rKyBIksSq_$Eo&*6yi&0Tyg?OvOe905k^;Z+N=|1B2%7uecTqqblA?bbKTn`H* zPi8H!w3D&uoDP)lg~Ow5Y*2}a!9PM#T$3=k#E=FsKHGcjW-9~ z0;Vi9X9e;V6r}F^hw5s@olvN@9@I_zoc}P>#+h;W!dqzVfEaeQ*BVu!$ zy7@h$IRmX+QeR#KPO27b0u8JPq?^v+FSY=dS!%Xw)pySyl@Q&El+1r?Jbo)ur=(KM zPB_Ng{l>Iee8o%O@{yF~M|*$6nOKi0O-94{yX?(Y)Sot<0I`(R!4@OubqFCsqHMNa zS2&;8#`*wVdfT2xNHkd&vDMZfoq1VdB!2kqFFqth(E+a=-b(7!x?d}&vrk}mIFIcn z46d}eid61Vj*Ii2Y#qL~Xm5^Mu{mQ;2k5)JxbjMYpvWdpPM;FG`5TcHX?wtU?9bg0ZaV2poAYLs*0He@eN82 z(AMaTL7Lhub5TBh2y;9AM~U>vtBGxnJ69s}A0vNC8;7ulrEYh@xQ(xB(zVMD{JYew zR=_W7UH;+!KgZ`jZHuoFFkoP-2w-4z|1a76dlT}1``2#jJMmi})IF3jr<`pk%=R>8 zEEPdeF?y6RTtVew5j1Hrb_*8l0_oJ*&Nh$J_4aKRmE>)xYT>;>Kfyo1{ig))2QeJ@ zpCH(;jx0)-;0WoP`y40(afH62x|`Yzd=|ig zjz}-s#3e%p{iQyM7J4N+3H%FT^{j(`Ntlg%TX-1md|8?oyZX z1WB1es>sXe(V4WVS9vB-kB*b+^${5C+_0faf2bx1Le6FE??X!Z56~;T?f=Zj2Rxq% z{R1`W@x%*-7-nv){D>-nCpS4`8c)%BJ*c1g_fi3u1%mgqoXIQ>&B5G60!sFqM5GRE z(4jVJ{jfcK)SCUq&D-@6xb4bw{FsM9WeB0ghrN#rJ&vWrgyK{yl|} z)RMu-74@qz#88SU!GzNyC@$i1fRCt=M;z`nU<1{37joNJS=M^D5GIgR_6#2EgeU(z zqN+|-tpE0PS^5JgYrmt5+Q};!25$MfpVL;Z0!FF*)|#T9dkn@>2QKJ+qJCf;`x;#- zDo@P@tWODzm=q~S5(eIe{WvPzl&Z&7LzsXGBHZqLnqVxEDQVrVQc_E#%4Y^8ma#?|0oBm z8crnO0z)_5w53-GaRwu*M`40D#u;mAOad)v}xn(#Dq+YiKsS z#OOJfH_L|y;Z@EROpA{iH9(9F~2r(OcW^_(Scr3OgY9e#|sym88~v5%6Bee zh)qucbTVb;X3VJ{))dLlfW?)(v~aA>`{Sci0PB>C5|9?5tjxSX$dJ%DNru)ijGOD1 z{Gi&wO)`V=lzQPqM?g)8Pm>#>U4H`fhDF2?sS8n-sJ;$zROfW#F7T?LhW+BhwcYY!BMmI9pN6l&)c}7ooY%nO3HR0)r?OwB9N>48lB}r7mn3>%mKd-kCJxrAL$y5a2NkVsEf%!Ypaldo$E&V@;$v2EM7ZQITl+qP|OY}#piL)u*dZn{&+wui|lf5Zy6_O7?edbkfR~!q@`iMAKwcD>%Xo7(7Z>7W7W( zZPR#w;VkYRTR>V<5*o+Gfv)E0V->up46iq5pi>B#vYT-8y0(< z>?QVv=&(BZbfd^;L$Y)1%`4_?Kw$F+Vd?@$06ypYt(y;7{|Wo=c(xyJ`grjd3m^FZ zFm?aXZv0P45k-DkP+>IRZp`Tw=k#N`gRqXN<+Mwv*B6 zlPMD^`Ju9RybETb#F$jbW{J-DIv}wq4Vi78{g=GE)tsAtk4A>!5xQ!3*D1Rc=lJiJ zP1@KeL7TKz#4w)+1pm%de}Mi>nJGz}Us?FJXyOw{tk;fcw5SEHtAfIaGP+QWOOO#l7aK8FqxN>s0I= zQnD>mrj-pRdpX)oNTpv@@by4VTq}|m_$`{0>}FD9F-qR#)0}u&TbXI&5ywu>HTKSk zyBKKDIQ?`?L&K}2^gc5{NEaz{{!!7N#=b^&_w1I-q}SWAyx`;btx2)fAiY-_I@)|u z;9^$W*eoF(vD`zz#6<0?K?A)Z+1k%@Hky^ON+xaJXUp;9zk@+oFW8LdGKI5`n7PL7 zecutlq=J|&qeE}KC*GI=6HTJuSZafN-zT?d>f_c-|NU)p$?&Iy#JK{*>l_jR52Jjv z*Gu6wvn(O_wjYJHC2A6hjB|NpZPzET4|z#FJA(cLj?as14XlDlKGW! z4C=R6>TIQnts`o8ND_%216^dXG)o4dr4$P81e{(TBCq*enUKGpFGAghdPMpV&VHpZ zo}9#gaY?xWcANgk!Jc1pUk6rvgym!iaWLZ_!mqkLg|v_ts1E${kFSJM6R9Hju@4u` z=OBWNYwL+W9#l_6my!=PCt7JA#PM&ZO_G&pOV-}kHjR)!5DNUT%J(UgUz95fO~Pe zE6^g7^%7f)nyt8LkJD)Q_lT6Ak_(()|C2n^R5$YYM}sD+L289Zn$dI?yI*H!quQyE zV@OM~wt4|EN_Q*$UPTxAUbky>3U_p7!UERQ2@{+My~qO9HhqS}#w=uxJg~72ceSHd zp|c0H>2`>snq}CZn&P)&!>c&(MB`Mz@Jh5oH*aMfc6Z5Dc}l{^3!-fjYFwW^sk;8O zLdk4|@14tM;c}Og6)Q9bq2_^-V6LTCU~W7LJv02+(x1H%n@FJng>sM_Z*>StT5fL= z7Nhfu5@Fn7F^Y+pF1vO=Fs`m4Y(=v-xpFfbP;6r#-fxodP#LR`zLZCZYxc6z0^gq# zRIrS%d0B$81UJ~?E;V@wO&rud8p`lS{R2T+fqA0pAurDZb%W=@mwnJA!egYlUpKV= z2j)^cx*MAh#=@eT{8(bsSJf<@KCmBhz#o@q=#TPq@`7r7YdY5Z%)uJNvLX7AY2IJR z_dtNbb`3)PpB#3 zp^fc6P}isxQ*=WQCc;)OMdW6;q3}L1H7l~Ji$zLjk|%;M=K6m;#U;YZ15o1KE7A0B ze_lNhAUDal^lDR5i^3$K;WbN^VUB|6KG&_mt(rtGGANVH3NcCDtaB;Y?oupoS_W-B zS>Kx|w3S(94oYjxrg~%1A_6jk>&c35*7h|nAbKC1f2cdBqh0=BkxNYuEFpV_o{)OS zdkf!k+Xj zs;*eJeoM+QI~Bd8giXdU%H^NC)~^m*Ya;?aNH-T-%AX!ylQlFqrzBM#pdoJcIz!oZ z7&7ZYU*>sm@9wS~id>bR5^+iBSi3Dw99c4&Xb)4?V7Q2pflDiS9Nz83bb|rqe`KFt zxA@@CJeiE!=6$5FDdx=n>6YXlIPo?*?+CtOVb3KcL9PT!x^Z7N+c#(eD%vJtyE?!8nU6Au|sS-oo6rU zX&yckhAJFLt7Y{4cEWBR?OEOM9*^pW{`7KDeZ`1^y!huYzBsOPHCI44_v&>px1(co zp1YCnMi6oiWc?G@iA8qH-10apb&wRB0Is(k7o)k%Xj!6a{;ZQHckzz(HuJ30d9N+# zRBlM)7Z}bpp6ABkV&$S}F##Z7RbznP^zb-E;Z`^6bH(eE0?0pkmejo#k@Y+hwse$D zPDo6ZQn5`PZgE7ZphJSL6Jq!mif#%|qR1}+V&Pn!f_NaeJ)v5hKk1na5^u2bjTBdM zm=`v~H$o1#QXKMV>zs}dFmxTx*8n!0k~PLhNkgs*v^1aIRmd+wp3ADe^#hZign5Bi zPFn~r)S484wcoy!X`8|t7-4`$f-ucWf>{$ziH{_ewS5VIQ@9o+8Usq7n96vRy^)r) z5u*p*tuB(Cz<&Y{VAsmxsKl%h!Fbr#%V255|N5FwI1v+b0l}D*CThpY3F>+jM~+;Z z?|+W(xJQ_CTg9p&6ni=zvxsNUIdy7$ABKinuUet+RemCNuwJe@X5Xnmqn$!GT<*|L zEkpF^{sUuL2f6|Id6EUM#UF)>1styeZ0;@iRT%oc@fzYvD0;XPxZB82eqDRnS>2a87K}8!t9{+@ zi9&H`{3?p8!toT4U&xrL&98xbQn9_WW@xwlG~da408E?|nJuHGRzrGhf!E!0x|b5R z^RxLp7v*eaSG_g&jP30Z^4(`#2W;Y@j$P=z?1WL=9#Pax%CBW)V;R^3Tsx!gjwmQH zvK<*XnR`X7^-1~b6Z2nTprh*(3twTV|8f<3Qc4rL@ys&2-gwDQ};d~ z4r|ls#a&`i>Ec&9y@3H9m7#nNzJz)7{Avn*gP1$w46!;3L9d^ABqPjWE0fdL}%{i1(CUO)!peN zpg1`JJM_lAZ}YMS z-tc11I?*gELj?^7_`A$x#uz&y(WkI+9#f5ZA?@qXQz4iRc4_FANSo5-6FQ}XQ*lhF zPO^=o3PK|)=*p&=bJf=PoBZ&$5FZs-efNxLn_*Jii5i-pTMm)#i21eMw<}gmb8=)jEyiwy5uk z?#`iRQTj&^P%F60j3_8XU(PvC0`xAJ6NYqZk0YoiC%paKXjmQsTfEe(v469U!G_4l zXX=(U6G@ysEOD^nF+|2G``>y;ec{c<-Hq0-*qGbQoIf3pGW?pn&BU6Yq!)y9%+bAE zyO8m;nY4wXRd{F*s8h1k2y21Kq)3=kCTT%O%6&j0bQCZfE7Q(Xz~8*WN3owt9=dp% z-WL~1P9h6QDtZOZcAs>F;MKe`e1q+LT+aC%KOdzX-fAw&A2@Y|i?9Uy&Gyx9|M(tK z$k~M7Uft(`dBe?MSbB$X{2aY<|4ohw_x^RgXG;j@JvyrrkJK4#nR#U2{5ZbCnc)Io z{l(82V%J`sI8svHY(BNalVmNA5qs^YN<3@zrc`?;)@8F&TCSBrpr!vF!OorRgIw&u zpO(WLSBf^^Mnm2$yQWX{2x~_dBfWLF* zpI&TfwSh9{5bZ4F=ta7LTz3{LVK8~x4%dXAgkNsvim!dZ8qpyN(9F=<_*Ez1*pwAU zrZJ{XY_I3gwwke6Xc2a*m8xtz0{HZbI5AgJ_AX>1{ArV*mp?_p7?)N~ zb_f}VbDMHL_F%OockIQq_#5ea#V zB1k(>MTm$IX^}WR*wD82Lp1@X13o+Djf=z}QOBfGkL|+v682Df6Ptb+*Vd>(+5NHS zT{Pzn6ZBLtr71Kt#Zm5K{IpC{~En$WLu8XfCxoq7hSDSjwz8J7`Sn zAc*YLw3^TTs*y*v12|@LyL~Z}mGn6cS;>Z=n8teu`fw_j$sf@|Fi_V=$IHkH#<-;j zw@T3@TC&V(R6u@daxKHtEg}Ov2Rz0;XXEXjDc>vO+xK69& zVK99>l3FGzeB~p~rkp+kX1*ivK$9c2qWFTuzoUWU7Rpc7I#4*Hq$!e3p6Wv;?JPAd zy#jgjN*2h57mTWLX4Y#ZOQ6y1-++fU^skeFs0v=vVO^)01NQ_sDmIhLSLzrt$wWAJ z`30g*z2hM-DN$ zeVSU@Qgwh<6+dt;@Im-H!O!4(svw7|l}e{HcvU)Q{+vFTZE_4=>_yetSB`RcY}~Xl zrKI6Jum$lkL)F3y2kP4QrY0*O=_El0A~J##xNh@a=sjf>rDBrufN>||`E0 zp;)M9H$jv6q(5(wV#RA)NZX^&Y}{QIxa-F`;8?!#LwsA|8ohiN_gfjm?%~nD zl}-(S(pQl)-O6{8u|*SD|*Vi!L7GTvl+G@PstLesZuzP}S(CqMou zAsY15{_KrE*9@->hg_9a<=cU~>-IB48cN?!46txxm;0jLXE>fOQGzh`2yfS=Pw~UG zx%M)Ml!`-O!n8y`UW7VH829B-bmWLj@r_<3>qd0?fw>>sX7QI44rg_Fn7$8}!S8YJ z(QW05+Evjvh0Zzi9BIs-%3P?~->tQa_-rNZ>Wpb83Eq)rOH#?_RPd_$CVOeiIHIHk7LHM=q>^E_CGf;}BEi47xZe@acrsBlM^w zum@S~&t2@6XINEUI9%o_@FHD{(q(kt5TPl0X!Ad+EsGrYjoCY=lTlwes%OK4xqKR^bnJ0IJ3R@5o=!|>27K3YLjs>kR zCIY;VCQOo(u8M~LgLWKi-WR?B2LfV%0Rkfbr&s@^9REh9{RiC`rY`HSDS@=3pG-nM zp1>9VV2J|d)q)H%DTLD!jtpjp+Ago$A#q7Wy&qiAX_Lt&J~62dfL$WLXBSHNg8c&h zqUOI{%X7AK;CC}8=Z-%tLUHfN(ZBY8n7(Y!SCCiFHT>Ritq%Q^R`@)h>kCZ(fe1%c zKs|`dTPnUag}%Vbn`h=viT_Nu7+jR1!QX7A=B}}+KkS^9_Fg6{>e5WpP2Dq0=*asZ zm0pMSWlhm3zh0(BCd-R1Z_S-|*T}(Dv4>wz^mZ}%!K;VM^e~w7%-h`SzlGmN@JN92 z2*YKBgTEmu$1TzJi%F_s*S4y)&`(M~eouK?rl7B#t{^3IJ>QMyO9*z=H;0VK%YEtE zmaFp?1*_ygdQ3kb~&%0s6K_$8;{~LFd+yx~GP*ZPx1B5^~r)js?=P95<^( zFZ3w^c&Dc<^HgFyCuc$D9075l8B;_vc+_~JZ6h!~lhoK27kmqmKp5FnFA?}NwgtE@ z(diLb8_UW&r$^d(9UXlfwpExglazb2UhUSgtT3lF&XH}Z z#Kf4kz&(|z)o|c$inNux8O9JAshl(PlcWqJ^wXlji6%+;z}+n6W-ryg?k1j=LvQrL zuYzI0?tb!(D|$Va-Hq^D-RkyNJ z(+;bH<3S=jl@!dy!a7}|FcIOny(}N)WVXth!I)8AmPIa(QZXVzi+YvbUt=9bmCV5D zHsy^yoG<)b$6zxcSYd%gip;4CxDeVbY(#AkX||xPUa6(>sya|0utGD$$ufTuBT;7> zn-Xtw!Ko;X>WJ}S>b3b9%2dmRzgP(^4Hq#|QptgXU!TiqT;np2t4(VYlmJXTbTn^c z&?w1FfX9)_HR%CmKUg%J$zfUJqe`Dx{VW6^zhOL}HZcQy8z~|kl*mvVS;RNP0ntu} zam+>&R8*XuZelPiWuhiVXcD&Zw}^5E*jkVQRJ3g{7@7bdsAd3UzTFCiU1a8F#&`jU z%T-8y^n}U%;=}-T&iExih2cdXZz%SMUIN!4vVqn+{HOpWs7<~gW!Ut19&Lc;a)-v6 zQ!cNlQecp7fkTz!q1Cl@0yLEc(h(0y7Cy)ZzbHes3;3bB0WOZ9s#O)Y0b|WP4Qv5x z{n>IZA!5r8AJLyp}HVZbjHzVy=4T$QVCOsN5@53$+o%aph~vv{8IQMj*jK{)JnovuF zf;)TF@La{AwtpiXv(3tu4cgb)+rIDmy{Q$w%ec5UsSzbHB@IB{R|&-ODw8b887vY? zBj1wAh;!423C{P~%}KpdB<|a5?~_b*P{mQHmoBGk*TbH0ONj>EXOc(tM8bAfLl&OW z@O`V-N|eT#it6c9@WJkuh$%1e`lQPVDa)dAW>6{YT$=jyqgEg-eXH@5fF2W=AM~X+ zdJUH>E*Vp>3!BS(=VsQx3VaHiIE$&;@(%KM5TS!)H$4+9q=8L)jPajDGQ3iWsYJDi!@`0mHK-A&h$N?P^|0##tpHWpYGAqoD30LOPb0E&18hsehS%6dBx z>uG86KH%wTS%66268qM-EYodsmB&v@9m4l5pk1vf(Esx`W0vr2>$=@_%(?rznr0{` zwJ?^vzdyW7`kE~m0zsCzxS%#ZsmkK5xRG+F;AQ4Lo&9X~sp{{04I03c2(18acGdz0 z4An;@%!IA?tPm#DM+YCSaoS7?c?7TwI)drU)WgaDSm?amijI}MO?YM<_Z3L{!$A5N zb`16HcWk3to^vJ4D;>46bQvE}$O*XB1gybr;TVe$P%mLHk_cfSg{1^xD2AmtVX)g= zcpvmeA*df~O@zWD{T%rAscs>p_k4W_{9HsIJco$jyZahg_Pob{egpWI_Zkf7DX%fE zt>i8^uMy?D{Tg`p{L28rT1+1%gfZbeyd&qO-Odp!zF-$Yav$p*-w{utU>BNlAMIV=5oe}g z7v5su|Iud;FGsQ;lVO1DUAO}(W9}vda!>ftW7w=C*k6zj46#@cC}E)ZG-8jIDeRlT z6RxfZarp2S%p3gRmh2sh%m~L1%^YYBQ53~|K4Ab)Pn0kOZK{|stehy$AC4taTo8d< zODF&-4>U=niPvQ^aA-eT;X~TRLC(FJ(`JJjnpKK7?JN z0KD{l@JGr$aZl(kX;19FsBbi1*uJ=LwjPjO;Q$DOu$v-5*!sbjxn0EF2*LtE$ogT# z`TPjNLEKZuf$Uq1cj;H=p15z4o)GNM6u`&$r5r+XO>#j~dXB;8)8UPi%-okH%t8;` zebZ-+uWZ)Kl#j!_3!=cw_I)5^Pdi`lLeoa*ZHQk={z8PF_BmftjzJEt(fFqbL$)FT z-dY;rBkRN`U{8xC+lVtJDAScDlU}ZsY)$X1)U#tP`Hz#78pr#yUt->Kx{pUGXX{0n zyUK8Bf*1Tzt@|gRlzhE^k{MpMk~)GFoh@mCM8S@PH@H)y>hb1G|c5ryT9 z*?y-Te{FeY+=ONmDoxKm((tl6!7&T33C5ws^i%p%IVNn9m57O&jPdl+qNg@2z8!gU zyqxYYqzv-L1%1#)00}~B6lH~>_zLa^EXq8+kAhT!gRlX1);*CGp2E2JzsnOFheQqXA?Bg|*M?t9wMb~a`vJ``MhTtwQWiVurvY8;>j z&gW(^cZSL+b-1GFJKrGmqa~eAp5x@O4tK7)P|{&s=qBy72}+MWhyEV6293H_VT#IN zv&xy&(&$PR_G*)=3B6h2yR=Fkyn${}ZIPzE;H|mmT z$$Q}5718=_PNn?NWI8LJCIit4JEBF4B(s^)tTz%_hn^noMM-I)$V^z-Rd$vt2t3bPO2&{OqUmJT6 z)yJXpK9A-dnOXY;N#>DG9x7N>mXgM6`lfA(jVb0G3|8SUs}ylN_k0po&qczf@_6St z?83flWl~`4WFmRdZDqo1ZgVu=)xdruL@6{uUM)|@C8U^9DBL0Dc{+&XS;Q>h0g|nw_OY1((r@}_=0Sl z0Rv!muHIuMX(SI-R5!=Q${zp}N|-5enluJ41}tkcT}GkceVCYeA(<2^j5EkCDq@WE zycHP;yQ2tZVVc<53~C`7z#6KM#eZZCX^E%2nT}^z2f@<00L!(^%o;^LrBd+VwpWCu zZZ4u0X8z!#j9|?#=&1-`&qmzX36&3!*D&)cNa-jY5~Zm0Pd344`o^b7uRe)$UH)v;yz9 zKHr=CfIcR_Gp3CC?Ga23Jm`-aSX>Q;EUZraKQY%Zw|ZtPT2+Xbj_QnbOxD>bSN3Bp zuOS{tirFYf#lj%zEEnOtMPBHr4dbZBD0UU#RcE4*5>^K}*C?l=I&9)ny#EhmHo0)DUHSQL5=v>A|x#R;`a5n(Ey$zm69MmMu|4C}H z#gzWnOs54sIEN+KezW^&O=FU$naq^%wx#lc%Bd>Ff-vxcN)Bm70_eF17R#jMZadLT zBz&I6Na zgLIH1Q}Q59D#jd$LRSW>Zj(8>Fr~8OQnsL33()B8pQ%fCDKp#S&ZdV_i-x8UC!RcD zI{&x`)rRIBY)Lh?7t8hPs-B2YX3S3P*tJa+Jui`|t@D0Uv*TH&6Tlnf&`M1PF=TFZ zS`~v=emYQAMIFIKI4s8CW4~o@_q0~qZpC!{V|)c>r$T7^NevTq*nqRpDT9NS`KkQq z+$BC`9%ijZ$^2P2UCpnD8d_0eI>_zBLaGB~46JFf2!#0(za5=R!^4~TyK&-`Ef4ITnc^c18&ek` z8?}vVLDwp z&Nxn}Rq&!(f?nRvT0(vJ=QmCoYrm6rb(=+?fM4L8lBD=W%WBaG)+Z(^g-7aK2u@0u zyG4kA-_k0v#jj?M6t}|VF+=%|t-=6#Q&H!&=c$G+z?c~8S`~o#)uE1d#a-hBX2Htb zLb*3hT7P<3_d66(Uz0Jw{KUSeQBcr;H<6|lp=4q#xjSgdT;c@Awsaf1rW1sNL}Eo< ze=ey%d#f)X|9l2JW@fto?Gd6r$o#H~%HZ*|hO`W%)#zda-#Hn3Swy&FD_S5R zz&dz?8H#xo6^530g)a4jX+c$?1MoB?JK=(F%5gUPZqb{@bp4`l_VFhB zZsFV01dn&Qz7FP(?% zh6^Eoe)Dz7ClXU@P(ijr^gOtAj!S?6CwgUXcC?t(Vq%q5_0~T6Wd+Gf5&Y)!QTuOh z#o~7tb()t>OzEXOpQMrA(d#WMw?333ns&aNt@nN?4*dwDMagOuS*a!~oAJ@uWNE5Y zOtYbUF6iH-x%pXI{x*#eo&bDF?r3Mg94mU{Y?)S{(&LzNX>hA4aEPgP^)Xg$FSo?3 zy4oX<6VQY z4D}6Mj>`uHOT^`@1A`Q`N)kBzhxX1?)$WcEx@g(b%E)b3?@5Tmv>n_;r@vh2qlXAIM` zcB%&aY!*?cp(5_Ep4$|A&4QkBjI>8J8+bI5VQFEzu0uCgLpT+&Ck<2#n&ZcIdwMR1 zvvpe9)bC@}U&jmj1yHkgZk2?N+hSBI`qpc|_eud&1hW(@DM{0m%as_6GD60XeI9c-vG{wJ8DR0~q#( z=|mn`3K6S(IEQJIHp}WCbM3^od2m-}CRQvht8w&+#-^5}ShR`SWG=aIc4+|4Kj<P69p)g(?`ALff!^0^ZQC`m2xdY-zSJg09I} zmRlTEv#qL8k1MYyc107Z$PU7?VaI#A+VmdfP2O1ouvcXw0H;dSHk1|XRqgsB%zUn( zaVrBq|1s%M9?9j;gbD=YWefyF_rDA7|Ekj5n&V}Qcj7i+VXn9%8%07c(?+F@NuRy5 zend`~Y`fhiHl9qkZnIuZzMHILhUo21Ez5?!S$KsPk9y*GK<1vqWv|k1wZT@4TR>%v zMg@Z=9)lqsq!6@n8Wj9h?34|npwoWovpY4@+T83S)xGBojZCFm5ci52jCsEDov1nHYJNtHEwTM<^I1Y;(`_eHM;mqC&V^?}DAA=@Yi zCn!mz6PvNYV#ntZ8iF-qxJQ)dpo?I(areSuIkvm`aP{f~d27+JACLaNQ)z4vKP#K2 zV^*dzGCQxzU73|}tJs&+^>WZ-7 zIRjSUQ$@EiC|uEXP+SAF8;E_7uJX%}IhIH-MB9MIlFdHHT6h;?+c3h?g%RbY$Ts4z zBkwuz8oWn=0iwqc)H%E(CYdr~FckF?E-`#@1?M1EY;hkrg%QeAZ3E=BL@)MrkdHFr zpkD*#6UG|khq6Q1$3E~<`yen^q&F^J@Nh-@Ffv!PHzZyNr1DK@#2(kVz9UGP65_Bl zSJ=C|Cze9-4!p%4-8t_bGFQaA0vBRJ5kb%xQOG-kC*GecI}fO)t~iW`EhC^HJ2Fbd zg6zFFVHVjNkrDO`8`&U;l(1y)9l|D*B_JDQ?iW^kMJXbxw8nuI|-qo#(hUVuMe__-Ym{CR-NJ{PZfc@G~zS z1?0i1Yt8c`G~2U)XU($c8qJ^$Ov2!fBN2^yF(=W4OmFp+h`x)PA>t!0N%j=6$S$U| zt%l~oQrgWa6vAd|Hi>LlrE5B3udIULG1(4Y)_WM@FuEr&i{+%b?Xf}R-n_*12D})u z?O&LN@A8T1#c_2%VeW`|ke^6gL2y5Cx^R_j$7${9B?--f(*;qB7emaqa2>t*f6V4W zAfMKNGc^SGZFyNY@wVEIKlW>XM*#d`r)c35TsMNPQj+)+S_i5-II zh7DQP62EjuE+=x5Y%Nx8VdJT`dH>ai8Im1+zhh^vgr2y8$lqZo3HpxLy$@j3b=l`FHz zX-YS7kSB`8WQ%vn4Z}^a=Hm@KQC3vX!Q?_p2Wn9m>IE>-;?Uqbq-vMhGM*HvCeCY> zIW#LwEzkXO-@p^M)smr=BEn_qG1yrsRcoYLJJ5YsPaWEVrE$otqh?TIx9(hO;@ST| zCz6~gQBTHWYix*(sDG524UG8EzyPZ$l5TbdU4eQ>AKxzzO9?kMEJVNEloA#xtme9M zVilN>#sQrj>jKJW^36?4qdu%AJmk6#K5zCcN~l#E)mvc(#;|Ub0hn99bOv(4zhej? zz(;ioZv?jSvnFMgrDHaWR%ElP9;(7h#@SRtWLmE=(i-4GqbXC*K`Z{ZYH^6u$5eTq zD;6Y|$_jzkx!jk#ZwMBR@Opk)^UwG>ojk?xnSLb`J(}18>YkY^j+%H5Af;P+&vSD~ z6m``f4^t4?|`UwOD_A;gmAb_4WHrQWwj-cI2}@jNuCxv(E9%LC*Sy z$-8g26}T+w){wkfH5YN+$TC&^g7lRCxg1fskevMJkMnKBCDG$MCG|cU+H1tFk4R#j z7hP3|zQn(nd)?vJVtD1~RW!WxphhSS@KdBB;#~72jXyhJg4`f$(t&lQYbq4p74uR1 z3mH;EL_V<v=;v~aQ=jV8CK=806!!RG&XY0gF!6J;%TbefL_<%2m;mA(X@ zZ~Y;#3`wyZ2`|CM1MY^ROMm^Itf9FQ{5+w*uKCkEb4WdYkZg10z=sGAdAK(jv2d4J zx)D&h%IHHLjBNC&4#hmLkWgJ#Qy#0y9_>LpcxojSDVvYib8nAwCaU8w+MmR*CB`>` zDhC9Uq7PNvtU$xx%b@3%`zCuw5)l=H4>jB~q3>{T{I!w8*ag|D8UX)KLC`Y~{Pg&y zh`C|lsJJUcE#nn0awU?W@~SB$DVy1f!}I;Pj4a$OAIoRCb|7aa8jU*nhW0o=1reBK zvsF}x06HT#Y4qnu@Q_o+DgR^7zG;P$6wkj&6SIZg{y>qMSa`+bnn5+kcOTdaHCb41 ztZ^51HiXNzgVt%E{}Yd)Om|pa_@@V571=(MoChe)#6wkPu|W4i-ivEuabfMd>2o0z zkg>X<<-9R`O<$5Of=$ma4kM_W#eo!X4w5d${>N$+fN|M2j|X072&u&DI31l}uL?-7 zcfzt_)`p`uUj+fUVAAutNAKMPFmsxQH=a!7yWVzug4{ku3*Bwz9qeEOvr}$p?)@8JMT9h+|1qp zne1qV@gft6GXh4t=OoYT6gpgNY@%;|z{FEAAC$Vw?@Aq&&_S$34%w8ol@yNXj}~Cf zGRuSFNsTZ{5MUDQuV{c$H#|q&{W}MFWgA4AG88X5h{!E?A1?S8(l&QG*6`Uq^lYGU zn|=-W&yUE~v43nwHpHbnWD%zXDJ$!=JJhyH2!FORFO#vQWKBWpV&V#B>Z*B!U|K2R zXOyE&HSZ?Ddp;MwQx2GYEE64=9CD#g^>?!c=e-9L!|sK|jQ2M!9h4&o7YvQY(OGyI zN<&f)nJT#I#4y?9lJo7HDDVaEpHYw%*!V2oH3Z$uyO_`8tI(2#0zfaz;Ej!$CR z<*X|luEa=xCkkIQp2ff#g6hF0g(#zl5d6Qe=o9zN;?CAHZUI*k?I;8 zP%42w?Q*d3oUq_KXVxmdm1f}J+ahy`Spk|!dN#MY?gTVQx2{g9X@~&Tl3NP@zWQVj zN-XX4_I!?NvJ^v}-;i-7sY3sz%V>6uVCKEx;q&GFM+H+0t^mh{DPp>2RR!~KlB}qc5i*Wzo21U}8u5|Ql31`?> z&u?{Fa6G5os3;`UIL8Kd3+BlHf+cTO&?-0&PW}pBNJCtp6_n_WT2{CLh0RRU1pZkA;CoI*!?(t zcf_J1b=Ia8jS+qlO>m%Y0P}}=%oWUPzi#@q5tdAa_n9}46s}-4s)N8 z_mkVQMsnfi$2Eo!SHx;&jGqt8=vqy~77@^fFh>SsBc5~{$426%#}w6u8#X>`wl7`X zU?M2~)h`D<>D=|mYbq#3fX3i;C1euXQzELRAsLl@y;?{!a~(l~Z}VMia3Y_Lp(vy- zoth28UwI{9Y&*XmY#=D-JIhV?w`hx5-5tPmloURd?eu(7a>c11;pQlU))bod| zGykw=i6*#zC#!zB)TnyNsM<2P&y~2O0m`^GR#x|9&gWvDev;ZsIUCsngK@mosf~?| zdJ+1!bi#-a@n`heNrbp*G3z7VJ`;I&vu0Aqj!oRJr0qr7$wK945q$z(ui80sk2W2}f83VTDZOp_#d}S;|gk_gxg7aC}k_NYMH% z@dNB(->k|oxYoKsweMhsnuwQ4wZBIh^V0X1Z|#7}`c;MOXE%q)cDNarigo-v)s}Ft z1-RGoHup%h8CF8O1H#9(hu@et=eF&B=i2E@4W3y9XEJPzvB0&xb0N>Q2@3Bpi_?U_ zRmehKL=e!N$QpP9L@EkyHo*I=#N=~bJq_qV+My~>KK>B7IFSpH2Nq6|f@gC1yApW!n!*&pM5gN2&_8@TkF-BNYOslQfB$(@qo5a-{7@ znT4jIq?^^oBhGzYd7UUMcD`{FOcbI|rd*aoQuw82Nplt;&^*VL(&#+(qE+M#8}sfH z! zDX@e4UswM_k48qvdjChz6@NZngQFIZ5D;!(Gl5;fEW67s#}fYfU%4|wDjeVcNZI|3tcbnk<0oPB zvl>76cfNqtkhZ$qm`{X+O@DEk>ke0n#9BO#qWI1bX?qtjC!QP@SK)Vw&QeN>qJmdT z%2#%&Np{3t9qhcgJBqWaB3$r>$hzMIF+A=W(i0GG6$n%N@3_i!(Tkv!C#_I6c;VU- z&wOc=EGQ6M!|op=*K%cKdqRmvGA7hW5;g(JUPMZ5XB%-{o~>`#yigZKj{hMUOw?|U ziFng99s5hUifgATf`jv!S#s`GvMdSQ0gYB@ZYpuSw+l=qJw-pG>cw>N@s~A0vE$Xjz#jaRl zBVB`>>riZLx|xolKRMD}|DZulKo9EN7O*Bunm;LbVE1VbU2PJX*~zB4%$*q)oZvGpls=N+I*rYHHlIj$H)FbC^<>mt9obv zxm9r1AuJ(}*{jMbcY7fV-d(BJH_iUjVQ+D>PDo)mr>H_O+Ca>pAg#I!@yc~)p?^$< zd#Rty4s`k(3n8#j?{Ca`+xkVG7n-Hr*yA9KT>Hu8nNo-qs`YS<8HrG?vPq-|<0*SvHTp2Og+)bDQ@!(&{gR zPWC@;R)WNNcRQi2$jm#+#C!qD^B$G0*I9+iF|4DRgx7K3W*L~_G7hR>sr}(ow9U;x z`m`TSyl=(|11NVsFg3!Z zkBe(=z93D=w0%yBhWj7v3AD}pyAXC-(NfVsV2;|TK_O(yZ7nkz-V0o;L^9H8plR-` zPM1z3UOMnCZObn?i1L5rYWfyWU!&jf&*rB8*;}z58;@dES8ZRYwKZ-s+=4TQS*f%b zBHv3c{XWs?wYIQ2{#+ge$pB&XqqQ8-u=K1t>6eAzk_~w7afdI8e+H>33pAj zmH9Va^5vFN(|Bs_2CKKt@R6jUZeAm9{2RPnRo^#dZ__wS8&IPgCzU}+yCs3fg&RSu zJ4ZrM?NQd$Fan~~70w|MLs`o%A3}%nJ?T(XlXp*Xn(yS2^%FZA@IFwVIp$iK?DnsK zFJ#RD05(p*--qMLb>FpE8IWdV_7}0?o40mPGqr@N#AF*6xZaVl+s9S}S97{41A`?Z0)hslny1W5G z)sS$I0#=P!j~LsLqr}^%DZQ;=aIzv&OD-`XRA1xROeaE?@4f+7d0LSt>G22!0kQAX z<$$f_1tWvkwcYYiy%@)^iSD39v%wrab z%8{@Z|2a3D-}z8L5|A_W<%Iy0)aWu`VLwTC8g}>UO55mZ37aCFq3vJGe|=n%Q<05S z#j*uwn@;7k+3o$QLbtirX{S=HvzsV&$7bI~8uu5+#d0fXPaE~AD1)|^gg{5b6 zU}121bPVXw_FrAd5L{-wDV4kd_;CzZs%YH89y||O$*-aU^Au7T!;Bjp`znOE1XdpU zC3?%e*sy-t0X`$C=|2e5kE37#){4592!?zj?cGGVlLx!2yk|dNJ^I6y%EDC)ZZ%8-;h7PspvRHTsP_Cx4wcU#fYc7+tegb6$yv=o;@{v4!dO zUAw7$%r&WfQPc($|H6a4&=IEmF^+dO{j!JWzo{}`boN7==u-3O)lYty0R30+9HM*N zmt37)z0p*<`7TZTi;nN}<_x{R+iW-8pn9&Kxh_3=v)it-9l~~?ANYLLbQ{-P>DrFi z{a>ZEW9Sdhm%Oxdp0TxQzFzS@+cZ0h9gp{X9uOZxFJEZ0QXv8xY*AE&-&~pEJtRe6 z0x$1%?_ajjQXFRgd^b98!CpTPyHdp)v%Wjqo}u60+!**o};oPE)}p~_2vfT95Y>nMrxl>YCB|GD7*-0j_+&FySy%uSq} zEDUUE7-;Ef8R_iZ|L2|V{|<%(tO0q8x7N{8M}Yi%A#ebI@_!$!r)Obn;jE`eYwzBy zEEBsxkI?M8MBGf%yV^B6G_0&XB4*s>AIH-CT!z->-p*6>KrHa&u71z? zSBOiAT{9h)S3HE`l~JBZ?Q~i+=FwXY(zvF`riK0N9@Zwr;?ej9;lmCD{mp6g0v9TQ z0K79GOYC)NDe^rK$>Rzx`YI`#R|e#A`ob*_DEZQ&^a~ytizJ4>dM%rCsq@G{*Nz^F z8f3m>n4&Us;Ktk|P2n#OxXMph8sn4#4mo?av{by6CjQtn zh79g8|IB!Uu0vK=8Vm*H6%h53F(GhnD%n%B!o%EhjQ@<^iwOJWb;Tv!qNY+mMn#OW zeRU$(J89NaYV0xQ+(u2voUk7=K5rhGql4r}QH>>XMp99pS5Siz(a|0fjv4kCo}$3a zCa;oAkc69LnfRL1EOS%>zy`OArZLin8>3!Lbt&bkQp9UdS1A1b^U_3!B~$Ei07E?u zD!*hiPw-Ug=vd|vN|<$rpdr0p?aX$dBj?%&vj%uR^J_I!R7j0QegF^X4&dHIDP)0XM&kGyP()aQ zr~^#AvOt)tQ(@wv=nIYNTLu5N3-gvl&l?nRD?z1Y(J=PtyZ3u_-LPBHu7V8@gDC>A zG;56>ssrs0+%)#%jlS_x*`bU`cuU#4K_%bfbo*g>?=Y&RQl5w9$dEU2qyIR6xHL9f zdP%?~hBvz6lYN!{v$acpl$&yq%JrSe*dlM`@n!4sa_AahTJ7DU;x?E0-ZS*j<5u8v zIXn3(lbf-0+CMs4Y?b>nCG)ed2l|gi4-grO*5vnL_=5oeMu-3a`TuUwM%ET4w$4BH zT&?D5_hZlBy}A7;`NVO-4Elno0>Gfa;Uml;2*4=qr_C%*`}$n#P> zD)3!?x;QyFJZK|;9jAm5*Iz?z4Vd}M zh>xu^l9VaUf7?$@<6d$kgHfSXY&G92@Z>0hg~Df~YgQ`oup)`Z^lH-yP>4o?Mrcp+ zv+~htuE=bj$hB7)hNIi5Qe-)DVMa3}d%>3_KWzl-^`eVPh0kjU4+sC6M#p9O9en zL>blm%ADP;_=)Aw8PfH+ad^C5Zr}MMXE7X^3);}_vK%@xW=Y!8qaxCvqDbh@DLuj@ z2+eR+4_h~0mmxgm9?V!-2lJv;9OlzWaD|uazi6b$O${)-gw-y1bn-q0qyrqQQwvrr zK|XEyuO14yV`_p17z+@8sOxnCfCgcw9W5Pqu0#T{G4jyDr(`tDsRx`gpzqRxAQ(89 zmtAwKsSIZMPKQ5>5K1)laSr)QaYj+>VGc(B3Be@@DIc{_!n~5HRa=uDmf}qNl|sam zouH7=M8W%h+O7b>n>GYemMuY&Mho`7Kdl*hJiO{-zo!C_qYgP=LiouV0_H>onKmq- zY*!;U%E$_cWR-h@P~(_M{3*T!sG31+XoH;X(SvZu70GpGlf%Dyzc_8R@EOYSFZDvd zpKOj3%Z?u=q?OdxpLTmOTZcLz;IH(c^J%CacRcPo$Bjf+j_tZVCB&tixZ+&}dv%j> zbfU+&oz&J=rMMJsSQJz&xbwp}BF8p6-EyZc)YHdC_E#)7r0z3=R5kOKyY%d3PR>ZG z#yIplQk2stZle^CZ-P)Ijr<7=b;+doc05Nk3>4G$o1mO0z%R8&HH?>Kf={5IE}obr zTLnhe?cX_ikk`|?g=cp#RjA3-70+|X)A4xiVP!F-0}eX%MOHz|tu9d?pC|&L$9(=l zVGpXRD`|7JYz+lvJeY!TUWW)u+VSSu)KC*!g@8nK2uPi8Rh|CegtJXX>X5LufU)S$ zZ7*oGO_g&JP<84y9w1mfq7bMzjZMgk>cj11PfS1$n9Em?HZ&IHLQZ^z<|{CTUdfp43CYW#8zf4Tir7=jlBzt%YzymW%@jtFvI&4 zit=q5Hbuv}-s@?T{r)>WopoU6uoW$Px^VyLjgFWi8cac!FIcZ{!=%ei?6YlP{mpIo zFP+Ps!-d3BJJOQGFTZH~kP61`DY-bqnQ(I!7}gD4$Esaj8rchYQ*x|ss82E5Rlw_Y zS~T=Q!_HWHT`0!`xY7}2sR&%Y3Kd6TSHK$q-lhFa3s?D!?s@&%g!S?^p4!UCYU}HP zr4cI%_UHfO#^0HYMa3dP8Wn!rx7*K2{lB|$V*_UcJ!f}&6Q>_nE)yvL<;M>La_uc* zcZLqCM~I}VQ7m6E`}nP@Hn@>636MbD@gEU&UC#&)Gd|Q*kMe&-p)rJe7>s|1+V%Bv zRGmrIWNzoPrc&*|*v6?}0Q*mbvBftOJsr!u zuTA9tuMlHcI2S<3drif%H8)758(t18u&S9P7(BFoeP#Eg?_XSv#Zo_JW#Dp^p1rnj zaxSCsOZ7I~N0U{AaGbFg_IETG`dWvG_+A#eg?9S0<3Oc)(vq=8vXyFNg#_q=Q6{@P z8$;NiCyBjTp*C8+n~di91=3w)mX6o1y+7GQB5mc83Zy2sv$n(Tcy(g6+jqjC7r*pU z10XI$RR@>MWN=ssC$xGBHj-HI3QX{z`=FyiBKO3-w$#Dy8r+!DaZI0=GqY;l2@KqL5Ex)72ckI!0hT-mpbn2tLGc9K zWMh&Tmw|l~7j=dPx~nDzJQNZX_xX**;ssHy5Gg+ za79tkWmFzs+=VVweRYXV#w*RIhAO0eHNO3tCAzkgw(O-Kf}Ym$R@d-ZvB#kcSO0qY zPI0ANV%tVfM`#X;1dQqWP`fSd{=-@~!oj*D*yYc((J-FM;!kH)ooKj=n)rJMQfnzc zB@3339W=A}kgZNJyuOKvFUU7Bfkg{@mx2pjyB0UA9xcFO3K=y$qUpOX*K$!Yi{JQm zif^-|=yXPK-?b%aOYwGNLs8=kvdpxdFxTeNRke9u@xV-Fw4E;$dT^~&v1tmkDqUsx zkbcyhWki0R89~N<=(isW#mnPuN-l10aIqhOo*>t-H^#L{lCnf<)CKRbb(6=^Pl?@N zR#|0=zdr-yz=V-7H$pv=9?ET@w5&EMffh%l7EpD`>p3Mbq(NFG*c>TsvJL;2T1pke z1Z=X>O4)L@@O)9*u`oXErKyIWjA*{@n5Ti%vYRb2c{y{&U5jw^1B}Ruy-Z7tPPqs% zHB6lPu+wiz{M?lwcrrJ)qw5Csl`HOfDERv2_}@J$6{cB^D5)h=5wHxca+m?cbJQX~ z($v-9sPy*r(M%VadCozzA~3wX5jmAshCkj~0nK77>Vc@XQ>^@3bNddyg6UrZeUYvb zb6|Kn`IfWk;h4;0Xb_TSVxU1PL9@4-y$p4C46u8Pq7|g-oQ0UE{3`k4_99qZ$=*^h z!Dk@NQJ?Hzy1RBdp5qbuirq~xEz9-o{jrwe)0szR6ZO7{)wvvgRU3pmsEu~*;E;>(BsHm# z0r~zplo0qS5sPm#T6tS{1NR~Xy){$*>>}-_A?c1=#6cgXRx@IyPA zu6-u0!e4P*HgU}Fqb9uG?6?MEpK}Jn{CMaYsn*RqWB5nX)03#OSBfX_V%p zF{FO5O{!I@|-SF{HYrS7f1O1{gh&J02#Q%glo-9OMNw$aKLC|IcKQ=o_DiDrU% zc#VTDcaaCQ{cIG5UuVL#AoF)1Vs<3$S!etV~_QCgZ9St!oAO1!$ z<1!&0o58!mq0>4rY#)D;#?uBBm2CDg${LSk!$2nP`@D%@~mdbIi7vaWWZ=)Pz`$tMizw2iSSuSEWE@Cl) zBUj8RQG3B2A#Q?8O+tj4zoz>5+Ez&2+9?md)M9J|UgJo!DI@maA$gHf@)Gt}31 zDdfB*6(c(7?A3C{Q?<;3F&qV`b9_3h$No!j8^U%xBY>gG&e7gS<8C%{E+2fv%;vp~ zYF#Yaj>Z5x7*qvJ+(B+vG!BOdL|+6KYs&juIL z9*@Bl%X&4Qbt7|4BK3JmqfOpS^1iLZTaS&_X-)UUNfXBUY!dsA>CQBb+tpPUEkBn4 zDcVu}#vadi$QkGJC{zd}u*GW#;IHL_rl-dC&jv-I-m+grVZIEML#Nd-h--;1=Ij@n zW726ml+6^xD-Ct-+-4}A&gF7F%DP*Sn}L+rzb=?_k|CsZ5p$u9r)TrA6(yXi1~M4; ze4O9rl(+=lO!>IV;H=yPqXTNSc1ke?&zzzpaDFGyH_`$R=xmnPOL9LNk8T5pQ6p09 zn3gIAZ67*49JVQaeA*5EC^<$howcs|Nj5UJn8cqOj`;lgoWbQk6*4BW#mI;(lroNK zP@`2DVQVSj1PWAT*1rglqY-uG*4QJ(jQYr=RTVYZ)$d+oQj36Hs?WRrwl-#7$*vbS zhQX8er36|!tUbrk*#CMVwvH`1A&;MiFC_nMEEUDz)XfB2x~p{o-sK(&l~F81d#bGq zy%IYxPU>ul#gUZTfZl5>kTRB0t5?Zn8dc6!hsCxQcktSaU_NE)Sr_{)+ce_U&IdMJ z650{t;>fQn`(4OLtns+QesEVZ-l~d&J8Oxt9QPpzr%-<>aMRO`S}uB>VtGgtlQ2}kDpWT%ZIe7#Z3A<^qD?FN1~9_aDQZ%|=L>g47xHL5dzEOR{oQJNUECXF$j=n#E^2 zKlu1DP5P;`jOxq`xbAexr+-xh5T@s}uM2Z3*2eeG*18C12(+(ayS zKV4ET&EaV5`Qx&ZanetCC?GD3Oo-w0_v1xP2nBaRa0Q;2IL%-&a1)7b-h0yQ*J5lB zt-lv6DxR1t-H$8-2G5MU5dYb>5|A2-E|@S|FChQ`16u!Ii4l7PN2mYZwO-;_IPEh( zc=`mBgS4zMXBKVRlB0y+rR&rL^R!8l?XOB2E!PKLUbN7ExaPoVEgNV_Ku-c*XIY;* zA0HmJ5*N*zWgCHmef%TMgFQbyJBHKsiZtxvi>Z>(*GS0`d|M@!eQr9`0*>Z>WMhn5 zM|eQ-q42xN8_3&z-l~KtdY^A({8qp`B=Pl(H8OrN3ziGBchlIzz4*}Ddy>rRC-?NZ z|H^nBW4S7X3C#pJ_k`g z)A{ZuJ;%~jyVDbOw@2msiDX8luiNAY-H@KC*az?v?CR5iyEy^%&L&Oc&3Mi4rL|Y( zErb{9;&0SQ5+1TXI%3yFfcp^Yfiulg49^C6y9N;Q78=p^yB79582$(bM56mb_E_CH zrY!gub-jmqmyaRP$R~+O=)Oq!={$AFiFN*E17l$gM#J~(`+~|=#_O*KXa6;i&^cYA zej$f5Q(0%9WyFQ0TMIm4Uq6OqN>lvT^kn@HEv^YlWFo>kPGeKPS#)22sj1yjWLA)Lo&jz@RYn?(>S~K z|J)FCCc=-FmC*(i)v`boyMqe+ovf$wzP2s`n9(|L_KT)lB)T|Z;?1i@pEo#KcBKlh zyBT?{^t<|p7-7xAdx8IEq^CjK8IXvc6p7ZxwkYsFnu~m0_&_}Mz-$maI#=#K?ZcWj zB%Q-R1L_8Wv(6u}%?cC{i5_qudup~u5oau8u6bnmXUT=-)Y1G^Z`ON<%@56L9bBTe zCZ1+JM}OuWc$=RZ*58OX93g{s@rov(AaF?}I)cd=P=Z#&sH;oT10F`5&1<6O;YW2` z`c3R~^#-MznkQEp+iH~*y@#Rq&X7A2Hof1fP#=YqgjgHkXN7zK0pqJiQK7Dv8d&vC zTng;ukFqJ$Cx2KRd$>?@KZabY=ga%lHL;uQ?iI-FPvUxPpnbs}<&3oLj&rI^Cl*Ic z*8(EW^IWq*kU8m<)1%%VPYWES=LBgLF2NPEY&U)D!tAuc+{HB`ziv=?U@K%t2U!mZ*~pVg zb3CfYE;s39^1i#hwUiWoL%T?B_nSm+jxoR*tPhk>&rnmyKgRpvZtax`r9U_FL#cZf znKJBO4Jj|(Wf&4!kxwOu@e+8vMa5jf8d?=!0UNlVrB(kOrGbe?m?6J++ucf8S)2yB zLv}8XU9D=(GLvL8(eDnZ!?TCm`6kXK$rYr~>faJVO8HXp8DzlcFc7DIkUqinMmZH4 z$nWXCno|PCQbfsM6}9gm)UGx{6S9-rm>ZSJe{tRP2ECSHw$TyW@ctewL%p&sfPGsq z(+`}^cQJ`s+G-wuql!e0FRIn_$>B{aW>^(^IyiTNhhG96V2)}X7E{M0T z*Ql%Iyd{`(?w*zb<52R>F0wA?jkmQo7k|P9^zf!DK1~IxcgZtXVmW+3(Upm88 z@Ue>UyF5}R)cpQJhz=RZCyq}GtdM3Pl@Rn~6GNeJTHQsF>RzSEH|9muNcFqQ$gn`` z0G+N(o?;U!%L-*nBuG^%)<7*fh~&i1G|!3tH3dzTapF(iL=y{5`RojVXJmz^G`v6e z#0^J@XL#}~5wNQ9tHH*ybwdyT#bDKJV<&arEf8Uajjow+R|P5l`50wfo=zCL!|ZJ; zc0WX%lE)j}JJui+v07;~;P{s2r42vOYQY1)<;m}>S?{kW-?*b;hn;OC$w5EFl!5;k z9}%TMC+WSNPDM6zsIa<;23dV>j&nk(<8=FybmFh%XE3?=*|L21yV;!kg+-wZ8z|T(CiWW5ucd*N-lLS4d%H)xgwPIsYpM*%@l^;S zJ%n5_as+~)d&?fo>|~qje7pCZ{Yqk5SzQT6_G3%;+Ldql#Lw^e-BA~rEbeL8$A+}L`Jm^bYaj6cpjDQ$<&J^!ZzsU9!tCpLjZYY z_vbak-yU3$<75xkDf_@X1R&|{QJt)HoXe&%lmSpZW-N%ODY=}er$YI0Wr>S1C?X}Z zsc;MdPD^4RR9p_fb6{#5b~y=XKgeAUP=uqH^p?@$s!-25z!8Q;5`l$$HsVSeZy60K zAuC+^NrLM0Q%9?;ad z{0$-q5pxz~z;U+u!%ORtMt*BsIEy~+-s<N*Vnu-cq{ zorupF$WdX2uoV(`6^#t8(o)z2#)ob}#O?MupXJB$i58Onb%2$}EzwV}PZr!v!R-8q zjei`TbfXuhJIiD|!S+G&Ox?t^@HDHVR&`jwn|iTZ-7G7d&d#-4y-`wsk-?8H(L|Fe z)zx^q5q53!rN26<^QTyj1G&vf?9jn+LLBaZG?EEwkdc(Fh5jWf<^nqlJ`KTn90($H zC^m50*InjoUj}`%JDfL$Do!%23m~|}HcodNziGNIs;y@T22MY+hwG!|JBu~aS9HPr`3f(SzIe=J2 z{SaHfUk;vjF;ggr6+kTWgx=(hPt7)F6;_D;mNwWiG5=TK{QixC zZ^xbVzKW?(!3liUwo;vtx;dQLK@$ogZeODG3a~Q1%M?8@N5Jw@nQCSZ2H~$i7LXW1 zV3PqdGQ-7z^j9^d6l)^TA^JztMKo(2J$vIt`0U7|#*u`yNJf^iCumJAdlFE%5LqIl zJ9v)Xf2u)7b|eDR7i z)KAO^4}gcuu6vG@H}iQMvl8+fq}RTym-}JK*_WxNmd|?-#BjZidp_ha8lGd4d-&b! zG{5i;+&Uwn-fig=waHH6`1{vs%ww_Y!mrDd=3mZ5P=hy9^IooE7CQ=+^s!vk147w^ zE6?jc#k+>)bW&5M=E%nZouRXamCy=hYFB;q%{;cudvZxqw$b~-{Xe-pYgg>hkonbU zC5<5$Y5BUZ7+0JvxAUpt^qYR3dAs`N^3mM3`7X=CHpV5amc=ex{L!j=Xb{dv4ZC95 zA-(2?X>_|s*>vG|!nAn9NYFmKb4!Mijr6v+^xPw_(VO&^Hgii`}WOmmOv8IJ}G zSJNIc7mtL94r)WBZ~WO>?cA_SmOJZ#Ja1!wP=1|!Uj(~D##}a5qQ*w~) z5>o-vE?}=Nbqp{JK2AaWvOoItx3eIxaeL(=_5=;t=X*JPEft#nI<9k2udAw#^&8d@ z#I`wwVzF>A;85^={F5$Sez;iD`7_bb*yxlK&%c_1Z+~xG2%u=j!(|d~E90k?N8=;D zMG!p-RQyU5$Hx^(IX$plbL>{oudn{qI=l;Nu%>HVc!BAnr^R}`p4dg{c5=!46@XP@ z68UsDuEgeC&ijDS((nuGpG~?|WMY0#$9;|KIcd|ZZWC9sTsy?}YV~YPWin%4tU~rN ztJdYP@BHke9_Szk)c^#f)``CFafp{ohc>kZoZu?ll6MYz8I<}QL@nv4i<1$N%b_~U z^fbN8*9ZjkNF(i@jZosj6gR5^Am1-{><${2y@dT=9$^cv*_Vv0&=Ap&0KzE3Z=a%!54}FT_;LZ&?dTU2R0B>>1+=zY^J6 zZhW(kTH?d-wkrfhk^1RwG9LS-m=%_~f49n%ER(&@>Xb@yQ}n{ndK^mv=ytb!!Vf0J zKG*5Egr|Tae(sMZJx|j(Z8XeHONnHUF&}U& z7ERGA+o@5_YIo*~a(h4_xwi(HLou1gq18&GcuNsOS|6{^A8jd^ec+J#A}He*RaR^% zOA8-#)zUxhZI<-%#{y&#*K65271ufB)6=eoVX8l5dOCJ$Nkx48Vs}$e-kq(R6TG{b z)k0!ixV-x##^$r>1IjatxQqD^$@!0Ky;x(GGQRx9Cu8USjzNmQ|LJ`JC_6X55yrql z(7o{@-(j;da*WL%rmIghHs1BefQ^$-;}by9_&5ei1SaRNn13vzwgy}0V1_? zkNpMjzGF5Hz{6iCQ5eQH&6sMHQ%`2{EgYeWL%7{qAYBy=;$o{E%zNVS>|Bw^vCVGe zasyC~nRVt>$fv>C(?O~-J0!)J`Hb-lTl%k)^@ao_?^-wriPwmKOxJRDv%d9Q9527$ z0pB~`e#0KOR7QhtH7&@$jNWxuKYz5`s*mc{tkhaHiI+;C5lSYw5Bbs@##q95llwYD z*AX84xOXYcF&9q0YZW%WSt5F`-U9l_SzWOqGY*qOs;~U%@18wT59I!n8qxfz=n*vw z6si9pz|JxMzffTIj&{y=Mt0UeCA~{^t=a{87@zIhu#lL40_kmCzXt`v*0IqEh=Tws z8kqulR+0(8Ah+A~P8JC+R3LpINQu)L89pu-GcnoL?b@_WMb&3z#?_=A+YBNeLzWGw z30+2#4*!sbh)ZF=C0Wof1+BLlC8-EognReLA>*O+o6a$kg`4PSM$Kq3*B&yu3Ue_m zz$^rCL^pMNK_De*?7e%=gBFXBHn(C?zZ=x4D?%tmuI5U{E)yyo=gE3;S)X(*q}(oPa6U{6of~$N~El6cZu&L z7&j-DE$!pPWs4p8p=~_S!tZHzBU&XFS`6FWwe-W5v9}c4=@=4#@S1vJo*7-7`cHk!h_<C_X}gG%z(8gC}5 z^6d8WNZMhxSf)$vjtDII;AD|I(`jg((5C4QX^0%QE+M(9Cl;dV-7TC$W~F>>Hp2OT z+mrmT$ik>RLxA2HSnfd9k+(XMf*_JRNn$f0$TP20J0;u>i@tK|8Ty1gR##jcvEwMl)DQ85(NJ*@khV4pw)ad2kwV$lZ26LohGwKfYP|EEX^hn;> zo2Y?g6sJq-1yH6t=bHu^oRKIdYSf}goyfvp6;cj9HflH~iBp=bt=Gh}>!;0~ZPiz2 z%W~^$*1o%xGH0bboyh!li;b_`QKc`wBAydgkVJ7eH`zzn-;%StV%3x$_!QC zdzEXoLwJk43-2NHD3^ByTu3Eu_5DL7i+_(m@tcolI>-`2O8>2W2u>bwbz%0fY3|eF zsuR`zoep9as011_0K4ATm$f85A5#H;z@oTnZs$!vu@mU-}aC%s8*cJ_Gpl#tc# zVP=>LS|F~f^mbyXYDrISJgvihnxna4YNbXkdHz;LyiMAF3|hIDKYwk*^!EUP8#*>g zuOV{1RH-w0>FM4UOl;KSAROr52;YXEi(q3e#IIN_6Dijo=*I?*RVQvZBep0d$gqB? z7e0*J!KyDv7nc~ua?G5{Gu%pEKOU7rxNMLtBrQKJXvm~JxTFGVId%xYFUBWAEwl6I zfYw(kw?Gf!O*Vc{fk~$Rozp4G29qj~B%IaQ<(-Q-i6ex=<7zrF>wXRNg~1kM-qkc( zrh2C?6yX!NoOXwW%ir7~Q`|vT$)GpK8qRZDF0{HIH<)66QSVd$eYC>opCk;l4QDOosED$gL@$poF#{FhzLJWQZ zY((g9HQ-)X4u#C+?`Q0(wj*xe+C=OpF7Y)UmJ_ca=tXsrMXT}oaqZR#gP&jK_)_O{ zqjL|%Bp~B5oHjJ?O3zgCeuq;|X-0%7gT%qzTx(A4`1`i4Mx7z?EQxUqX+`$HCfQ@E zOr3(JQ=?f}qpjEECXaz(`23shkERBCeQAMUK}5KpF%pwlky1Z)zOazGa)W{Z0Vi(n z$rKR!Bc00Db~Q=o6?k@zytKbfdYoFO(J^SaY%lh?=(6rSxiWZ`s}Ut=R2X~0Yh6Rt zq8e*+WI|26yW%}{I~-?bMP|$dj__g=Q0dubeNf44>sDUS^0k|y9%f(pQn8(X=y}4knWTe>F(}skdp51?vxSdWJ^d{YPmUbz6@(Fv=920(m_9@_J zd@8=BAw&bC1TzhcPxQc=Mza5|II*`gHNU8XDNq@Y0G2emZz>}QnxM%xeIwMtPe{%8 z(hRmi;mfx{d&8VM*62`)zP z8BuDAZ7yc@&^wQ5sifzMPlwd>UCpH2Eimp`ytC`OQ#gnRndMwyYbCL)CQB8{kx0!R zUgX=T!+~MQo;GmbozqF7cM zouDB+@)DV`qP6tf`JQ83=7*8t_PkTz>qDh`rC6 z_AJBLI{M*b3S~K0VV|nE@kUuT2JfE~q0ct~4s7BPRSrvDuqe?aq+4p#c!W-UQX9xd zos1yGS)A_-H+j8Fej+z7SJMy;t_ghYI-Vk7dxnv*z~*!NPLt|r&1^rYfbL;>cK|$& z{Ggb*2#$0`EPWQPBbjJ-K_)UX#HpC|XrVV6qx#8R2{#joq~tqMm{CPr%$pygx4^ar zPFBu7zFOVmKm#)|TKjBv*MH(;;#|9QB$;#(z#Q50mH09)>TZsb23#3p@JpYnBrsiy zVFT)5|M*Y40VRwOeU8E~>k~!(@x^lF=wT@z>kx--GtN6eB5?LS;7sXrVtg(v9J_4* ziL=>mm7ej=oqsb@tDcL)gUN#V7hOvKLHE5?D#^tda|9mn^!V0eI9*_<|3Pn4bD| zI1PMVdC3|DT}~fu%Cl-cSeE%Fs8kl?cYOIFyS72Byts7_{17HA?d~x-nCKQp$tv|d zlpSV#F#G7ff9|pDlW*?a@i+&;ttZpjQSD}Pi7>m}`8br&>?tqgjwFTjXNIBI$_Mh+ z#zNY0R*zq@rfdnV>|}Rik1kYEgx?}KgoClJf=R&&ENo195(GGz#o!lM>nUD}j*D-k z8Ma35ef*;JW$@iW@(9=UC3^^~@kpUL_N4Z3UBx3ww!FzCFU+GDKAS9bY}jc5LmpMe zw)2mYbk7*{1xESA;bsMyQV;^0dB3RphoUA{#6-+}8or;04NrbBQ(TOrMu%8T=q*eC zh3S*mtL}xnOoW#3`ytud56BMlqx(hI+1KD~o>F0Ax8RUHx5!(@2{r3pk|fCXr^e}) zZ3mVs38j_{l?U^yu14FL(1MpZ>~&>PiG8E8uSc)z=kLercKEEMZWtsQ(H2YyM_*=v z&*X_p0QFikl#-y*SSl!Q8kovsul z-FhOyA|J%gVeYv=9Au#MxcD(T1LQtH06Sn#WCX#jSq{QG)d<0gyPF`x?-e%eN;}Cb zs?%s#c{WkL^Se+r%Xu^0bPeYj-V$@(^kKKL+CnUJ2uWn`1vX;7vM310`sg7tzNSw_ z%DogQUvwubwt56!J5bGTqPk&5j%Cuc$Ybel4`es{H_4*_(@;sf z0v5c+yMt_K4+)EG)#nLc`ZPYPwe5ehIv~IEw#}Psza*Y5zE%<%J)H~(QHE05QC)_p z<(%%YoMsE$`^a>66P+;%UnGXuXU=>F=NutyBTqDTsqLeX)fU86j06DkZfpah`E!iC z*c+t%|9gRG4ULUyOf8M9KsE*KDEdn5c(*`t0yhOI!vFxx|K5}^ji{86biCrYryddWf3a@%^IyQ}DU%*)(0gUv)TBM#LE2 z^vqNVHUy5MJPn!X|FFIEiClu3DmWjm@z|V^LNI@Yb6!Z2&!1W(*LNm%l_QY(Q4NCD z!`xoTCIw`PRLlFkt$tlPishTymQMsXwwDyFhtmDDyYuGy(H}WB1+*ROTCULFYg`cf z{E>U#(bbh-+0~VRlRk;rikF;9_P*$Vud4msD(N5%lQC`$o!h{(vQ)Pp71)zvSsK8R zfw@@}JZXfm03_gqu)Lk2u_-})D(KI3rYb>VXfsDS|9TUYcu$V3( z!+V)9L}UA_8T2wlQZ|}INKrUu7Yn8%=HB=NQ;ay`WpvDP_EF4M48zn9@lT8yoW&JS z8vKOhj%(z0N^zi#yi`!+wd?W}>T1eWpmDN!o2G^ulZrIji z5Vu(<0nkFF=}R|prlrMwl?Ed*vja|cI1D@aHQuYS$YI6k6PC_7$M@gwhu3VfF&)u# zQRn|)7%6I1W2vB(i4+|h9|wW2<2>|qWYdb<RY8(#;$ad_8uamuTMgEBCJ z&fa9+r4!s^s@`>zwB1(zVV%3p8~ij$A5jxGxzZGZ=?B<*0(ipw>O@ad!aCq9_oIm7 z-6UZ!#}e=(lF|>uVcMC)k$Ag$9kA0&<|+$%h~bBfD2a^YrinUWDp5rS?L!vH!^5R? zrHmdU*~LWO4@S$(cedls^4IuGza;=Y1ZCf&s~ME5P)fye%!kmpPHsuCxkzShqR%R4 zK8&zv>5R3TZlWUJv|E9cKc>TWUsk-+z{xApL%cmM1SL-*k(nxc#z+aN1YRF1GSs#V z?oQXN!#(V*Q}`V~(NlJQ;jo7RZ!);OJ??~VZ|E#~eO)fRkK}k;1b_YBjsfTKkC6=n zxEPKMNl)3kfWvST3;0`2kc=bF z?TD9&?%oxAzkACo2|aU&7P&NG*mW<{mX8AOZRn!~)Y#sgUYns$tuiam(G$X5A`n8= zaoaLWzS6^E0w}*P~A6k#S9bS2*)%7(g>LgO$7^X$K6uak;Q?_j{stpoMoBnm~ z6uIJO=m#Osc52oI@72!qem!bZ&T5&%KP&u-cj5bhCFsDptM85mj{S{eYW)Sb1>O)VeWUYH8*di!mjN}u6@?Ot5$|JuHd;S+mP8(?8Ruw7eI zC$2{fw5+uBHxMF(q6UGrNq~!s<6jZ%tgN-o4IK>4FCc#G^n|lBw6(JZ!Lc$@69To= zKf87pQ)?PqT_eNqZC-3Zg#mm4cNcME-;nbJeyadp_x{A)*3i!0npWS)STIZ+u9*N` zaIuh(DyqDh$FW}(x&KfP|B&B3VWWw`TvWKzo z*L#nPdLaYV+yxwXD`~9>2 zyDI}hiG-u6!QV_1VJON8xUkzPlw^DzWc)Z|^GB;I`Xh&RXeeo5>MBKaT1{2%xY}rA zp~loYANB2B|`uCvcuz z?o?7+G3XYq)16C-ENv;b>`G$|UYp0Mf1tZ%&nN*$TtwPYic0mqbXlS$Bl7lbZd}n) z+H@%rZ^{_ccI4ZL3GWF9cQt1YkqfgJ!?`2%mg625s8F}qZi_sPp%|M8O)i@)^>Nz& zu$~lIM4O2WZQ-41yQSq$ZG^=yO%H7WF*CTMg8Kk5`SJdjqtyAVrEdL5Xxs4O43AuLD=-ya{_#(9RJR2=I zjLJN?o4h@myeMrQ!k%{)gsIOW`dTJfZaYPF>#g^J!L-M#&c2dHim)#>%?3MuEFJuscH;bL z1bz2JAW5bxaLvJ`Smh`W_z%y3P8+z9==VPR@*hEVou@^Vz%|h$2OPMD;HXFW;6afs z&ybQAk~~m`trUH$!8<*bOClTM>ooYyaT>aQ%NCj~d>OjkC!3k@OOC+2Jiz6_1DJcp zxq1$#ir^-rdn$glq~mNBYcza{?^_a=9c9wF`gu#pB4$jbMl6U~x8+Fh@W_Y0TwR$t zq1IkG?1!1<+N1EXzTHmk3E@A$!CC6Jw;}~!Ntt|}-`eTvGT*5m6TSYd8N|!%80ZS& zn_wEX0KE(>Fk%t@T~$3@TSMT?Rk)%>Byd^fEL|JrmdT4xdtTBe1H{O<;C?zj+ptoK z!!9EeIim5;4|X=6XpI$)JH4a1xVlUnxnRh^jnMmy8IA-{y zftB4YN`_i87Kn|8rZJy`o~dEAf8T6GXqp?DukKu>sNQ27eUr;0o9Z=#)!SFLbromb zE=Owc%rNovA*>A{dSt}tf|Z%J;}u-ToFCpVd_KuN{7UMNGkFlzcb~*@fr+b3$C9M# zG$qwpD9F1Bno42Byio@i!udriW`9z$C+4vC4zZbF?PN@;_Q$fdU`LXiFT?wSmh^|} zmfm|4UusF!V;UxDu&B!U!tU_ye-oGuRYEqH3VFsecV{${qt9W39M*L-=Ia zQzxe!D?OKNpXJe`7N316J%jRIC{mR}1o$uDv3jF3XyaVr+evkcasxDUR{4YF>y>hG zLnnhv^;UR*Ha?>Y+x4AOH!P&7_=6=UUI)UXuzFsq9x!AG51M zS)c~Y=)Y`y9J2uF^D0Ekd#>khWnTN7OpEreU{V=Z(~|^eMgiG54P(!&P3z~JzVIv7 zb4xu1TAb1Zb3^UxtsXsvM>H8UOKS+dM0F<+?r$@P6{kiw-w=2)@HTL^^`CB3Juw}D z;^Z&Lb>tB*%(sH~fZ#Bf>KcM#5@&G0Cu1-C9AZGR-s*R!Bh{kSwC1^m8SBTOco@rQ zrA;M_CAM}(3FxYq9xgK<%tK<;GnjBbU@h3H+}aiu%yxK~5jpJ0ypiigzy373>UAHR z7Pzxpi3uYYLmp>L>PgPa2h9q;Ea11t#9tGf8ggf7$57z$@rpSf>ju6S@Wc&C8cbSX zds*9UCMZ46RE_H`h37V1>tYocK5hWVgn7uC6uobZmf=p!SU|EsLajIkCDc|Nh)0XP zA*Kc^v@5JAgT zpG7HoO9x5SpU*EuMZH&l)lA`xp7&)48R4X39RF$N0WO^{_k;J=y53rTHE@nZsTS|D zx%#)xt`wleyL@iilJwOj!=Nr-%d-dC#89iHSY4(XhalwZd> zO%__2`3Ui6ra=qz0kv!Jko3SQ?AKfX0M*}pz=hM({=RF{)YAB3+hnSGWC{;@`}8+- zv=pNXMFSog)@A-8Q?xNIyOSYHgwIvtp*nBPYo_ar1HkAW)A-s9n1N?MJx`uy#|=Qa zuTn5aOaxD-uUf2^7I8|5=wZ+Cfmkbg?;DNyU_)roM7h*w>is!utFqf%?^GS?jZ97N zw)IQu=JeLa#cS8oKq^yrYc-9e^$_h0eE2qgNJ#SrMV?ipDS=uyx>uw#rl!GI2TS0t zctUzFZHGld0bL-!wun8q79v{0t^S!*$3+@FPnhZV;rzjDU6~*5Zz?8A2U|HNxB0lBs-j5ca$U8(5bRr=?z9qn z(1st;mfsY*QYs?(48xsUKhL%mJDs6LyOCuhv(BWL2q@-=YKnOT0|l~DSTTLgrK^=!egX10_}5l@7j!=2f_W9EaG z#h%EfiBfs7TqP%v3Gya=TqPzaf@Fu1f*xh}>b<@27k82O_qt?Ybh8=kAW-^cUc}O1 z=rp0i$FaO88IgIXA!j=QDVMJk49j5(*{N9E0>O->7as69 zB8^m0ZRHTVL=Ml@NFB~LPx&EZ`>?KmYqc3mg4ig){(&Yl4)}9(FAf-i$Sg_3FfA*LGMZw$c8J9sf6l?BFG`IV^L14CmQ5Po~cziBNiO(MSO=X@fHqEb(- z$XMtFg*}a`)fvP`JR*`w)Jz{|s~Qx-tR&RFa`XjN<=H%{iyF)5W_+Ou;l{V%ILI$@<}KW*R!&*x6A9*mwi+W?s%Rp<3~z2Ah=%P*iPU62&ZRD$k9) z9IMbDVTZ$IqTUW+F}f>(jSgl4NvQ;uuR-8J1_d#8W|ayq^@Il;tf7LNc$+&_(J0zd zx7Se9@0AzS6x~Y+m>6(WHK(T`WnzxvihZ3(CJiBZgpS!U%QRdwhAO5B%StJz4q-{^ zd!xBEWD`7evak4-1y+<&VjO)`kXDT49i^+hS&*qzXYE$tPJGa2J&C3w2kKib??-vD zpk^I&j?oyVPI5Ki)eS8UZd95F-hG9tu=sI9h}f9{+D~Zrv7@l+lk7-X)GSs1xK2E$ zH4f93TK_QNhq5GTBAu|9Sxx7h8U+wNJEYrRo)C`ky)XmsvVxMe1w7U~K zs3{@s$lEKMZk#Xe5&)iKoG;@NfC?0{)$-3rD1GyMAGxFyAf`k266Y=KN6C-TkCM6+ z)_N`rAU@DGIRA$F1)BzA_q={1EZ3gZs$lEhBNqV{JXJ_O(b+7<$cFWgXO5*2BOK1# z+jFiS%E1|ArpUs_C6fkeZ*{c6sibEZMF!SJ{oBW3eRB^Di>E_rD|xkd%J?D*hUMNR zQh11aWbPky5Nv{}NTzb&-+l z`9vw?nkS>p>Lf!<>lT7$3#t=~SC=o&=k|V0+=aX9QG{y>WcSS_z7oA)-*Fq=ChJ%s zgIZ@Vl@uV_n|qD^D6Hz6I2-CjNxbFlv+^RBLnl;l*IQ%9UCI;KnCsdeG3d-FlR-q>_t35W{)_4+n(AatLH|5kGK57f7z{nnP-0wJU{k5 zO+Hlx=Ag)4(sDRi7C*L&(og7+#6p%&Nt?L z7K9wLeYo58DZNUn*(uq`pE(bTsws&Xd(WR!gB3fJI=o;$5RSic|n;_vrq3+8tOtbxfDZ2 zM6{G|NlsEd&!FC`>;)DinkyB*wXdsqb&?rppIbRO_MZ1)Vm}h{=hjJ8^wQ_nA08vI zguE$@N9YDCb2_ybBr=v4t&tl=%clB8$CaUtRj0 zpy`j?CrKKN8YP`EcwK=^Q=QTy$vSuQ2V(FSE( zrO7LIgG2V9`!yuDu%6zgmjPc2g?(8VI@>EIE8ZMy2&=EW!^!&~*a8jK(Y2J)$jv3t zR)&8rXO4o0+h+jARxMcE&Ki#q8_MF2QWXhRl2(Ps)un@x0Y_WNEg+&<>O(Nha1=tJ*q|_#EaAq-m3~q z_~rzL08eWY#{@Qt=Aj*-7;?9{;bnNA1l+!J0y>Nm1@EvX3jBmptEyvv5at#N&qvfw z4Gk>Vg2hH*FC|g()G&B`RSWWxQJG0S{s*q!x&A|`8Y1mk8u$A1yj!xptGOYFtwM}M z{5w!|kkk9vM6AdOmJvV7xbUMVs7!s^Fx{)iDuWpA40x%2 z^)1{L6=b5jb9*lh^&d9*r)T%aFiH`0cbawawD)4!D#7MGFkXjwRBJ7eS|z4L$giNf zvuFSVYX~)zh`JXaeat2Smux8NAZ=^TD^BmcPI-5ME2mT+_|&9T!#VgGtKyheuBqd( zQWqPQ$hVEqWT%Ze%Hy<9v+8u<6I~tli+jYF+60F1ac{wibED%-pLZFY2@02n5Q6o6 zcp$4n;SMVnCOWWu2U%`hOzA_DQ5B*8H%Q4(n+wCKvn=X6RYnJOBMQayRE3E8!4*w% z%0G1O`P6nJ?3*w-zqs`(?a>6B^^~8lqnImgWVMIHm|<+U|nlg z>Et*e_+^4+a=nA?yC!6Huod%g=shXbuh>h3>cK1u;brknlwcysR(Wb9r_43%2tAM4 zgmh`O7|4}A1hM0DQK+nI<{ZH)pK^9F3_}z)!37GnlRBsy-hRZ>>eR{Y!x8svjEmdu zD61XG-2-c@S!N!pnyQ=robXVD2|OEkwglS?nuQPktQbrBYxMQW1o--ahto(~3=U4` z*)#X_1NU=*Z~mePThXqcx3=$fhH;yDEpuXasiu9X7(b zl*J>7-8gF`+Y_f;e;Gq3<<$8&X?+??XL|u!JFmByuV5VRm3$^lYff-Tkd7%&DrOcq zxW92wT=l7F4iV8d;o&&h2QrP1^CJ;-%rv60?HY8FA$JVjBk1W2o*a{)J2@D7y0zCg zxH4{4ub6tg`1q-S30sg7X&mXThT+7nX&J|?Hj4ME$v!*x`PK^ycYW1+xgG4Iwswr- zi#fTbw);=kQ4UvIPq!FGDUL>|;T4?hy^lxWpC;5;iRUTh53Q*wuWmu3oUS7g4&8a* zNJnU{)-?T$!;JY|v}G7;k8Y%m{yT<^T%jt4sY8d(C6>DAlJ%lJ`Ew_3ceu&HMa{4G zahIf8+xOnrEJsi#Io0)3Ki`sy=CnG?EZ&ikme_opBci%{{}reGnT(K#?HFgYYLOLi zw}v&6%WV&J3c#phxj;^On$l@vGt!S_Fc0k8m7Jw}p6t%G1!((yqf z?Zx+>Ffafj;KIY5j|cpCz&S7|;4?7p4;U|CJ50dqw=fc-{DM;Qf}m(#4kBTmvVCBk zG$Y?puH+@!<$_Qom5k89@$)VsV7nI=!8Npt!!Cb|Cdn%$DkLbcKx=Aw4bcrn*+{ex zY}NG=@k)Z~cd-aUK>6)}9N0DiaLpX=8sh4o5M{(KSIR-*0B5)GZU^^+A#`5CT}ebmg5U_FlYj9G)T<^CE$_ercND9*0*xG>tdNoBC1^_J@Q#<+HqF3@K zAOLW)o8bHayyzxguzvv5vo|$2paTVa)GznFvs}sPS+VcmLBS4z>v_Ode|)HZfYAeg z_xA5#dIqMpcC?PBmNdE+1}qP*fqMnKBH8a81iL9g!Eb8%)3g_wf&)9)Z%uotsky1% zHNXctGT*hkl3?`Wzi4|Ckm8577l7RV4ftcZ?;14ts`PiLE6JF16Z+TVUmyH{CICVQ z{0lV51U=~O_Ij4QivaA*Uhe$g`_>hkpB9G!+&r?9@fr)g+y80tp9c7GlqDz!KrAH+XK)izPp7hCZG&%E}KzbW6;C>KPvwJ%W0tc10HBsjmrN-S1i2r z(xB)!C+wN8p-=GtkLWii@T%SxH)}u-5+R+{R@rXjzuqCR{o2z zcy%W_>TiAm4jY z?R1roUi7>AzhYeugsalV%VW=Jteu%?SuV;PK}{cm4T*n|2wX9_l0TXJ?qKyRCKpRKPOYYK{Cj`Dk~e8wFD3=0p(po` zRsbn21vQACUE6mixBV}}`<1+80(`6hets?51ZCnU|Bp<5Tfzx4Ng+#`_?=R)#HDer zpVdzefd{PpjDrs)=^7L{!V2A>C!q^@+Ot*1)-o+gcSbKI@iiWLAmI|JpImv zZt#-Jl?3JTYtiTx7cby_Ec{n4KT1eJ?hc@$;`7C%&eaIIl9x38RA&lG16=VBCiziy z3aa+i97`Ge)c2usB|-6iEe^fHBLJ#h`*%ERXHYn0qsT`WGh#!kmvC3|C)}_8>G}-I zxym2Z`!%}{g`WAY)0N!My9E6S_G@-e`okGs+)_5xzk>ZC&A7_x@9baVT}e>fn>jt< zHC!UKzvBKSlV=l{{;u9y3mzO>#vyqOa87Ja|wPWLBVh4@7ME-OoRUh i|811N%G$5)@s*SjznEMF0BC?eV;I1s(HuBI2>3tVT@*zC diff --git a/run_http_html.py b/run_http_html.py index 96fb557..b9e3188 100644 --- a/run_http_html.py +++ b/run_http_html.py @@ -20,8 +20,8 @@ def start_interface_html_http(): endtime=endtime,passge=list_pass,fail=list_fail, id=listid,name=listname,key=listkey,coneent=listconeent,url=listurl,meth=listfangshi, yuqi=listqiwang,json=list_json,relusts=listrelust,weizhi=list_weizhi,exceptions=list_exption) - contec = u'http接口自动化测试完成,测试通过:%s,测试失败:%s,异常:%s,未知错误:%s,详情见:%s' % ( - list_pass, list_fail, list_exption, list_weizhi, filepath) - send_ding(content=contec) + #contec = u'http接口自动化测试完成,测试通过:%s,测试失败:%s,异常:%s,未知错误:%s,详情见:%s' % ( + #list_pass, list_fail, list_exption, list_weizhi, filepath) + #send_ding(content=contec) if __name__ == '__main__': start_interface_html_http() \ No newline at end of file diff --git a/testCase/case.py b/testCase/case.py index c82fb74..9c6f44d 100644 --- a/testCase/case.py +++ b/testCase/case.py @@ -3,45 +3,84 @@ # @Author : lileilei # @File : case.py from Interface.testFengzhuang import TestApi -from Public.get_excel import datacel -from Public.log import LOG,logger +from Public.get_excel import datacel +from Public.log import LOG, logger import os -path=os.getcwd()+'\\test_case_data\\case.xlsx' -listid,listkey,listconeent,listurl,listfangshi,listqiwang,listname=datacel(path) +from config.config_T import Config_Try_Num +path = os.getcwd() + '\\test_case_data\\case.xlsx' +listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname = datacel(path) from Public.panduan import assert_in @logger('测试') def testinterface(): list_pass = 0 list_fail = 0 list_json = [] - listrelust=[] - list_weizhi=0 - list_exption=0 + listrelust = [] + list_weizhi = 0 + list_exption = 0 + error_num = 0 for i in range(len(listurl)): - api=TestApi(url=listurl[i],key=listkey[i],connent=listconeent[i],fangshi=listfangshi[i]) - apijson=api.getJson() - if apijson['code']==0: - LOG.info('inputdata> 参数:%s, url:%s ,返回:%s,预期:%s'%(listconeent[i],listurl[i],apijson,listqiwang[i])) - assert_re=assert_in(asserqiwang=listqiwang[i],fanhuijson=apijson) + api = TestApi(url=listurl[i], key=listkey[i], connent=listconeent[i], fangshi=listfangshi[i]) + apijson = api.getJson() + if error_num <= Config_Try_Num and error_num>=0: + if apijson['code'] == 0: + LOG.info('inputdata> 参数:%s, url:%s ,返回:%s,预期:%s' % (listconeent[i], listurl[i], apijson, listqiwang[i])) + assert_re = assert_in(asserqiwang=listqiwang[i], fanhuijson=apijson) + if assert_re['code'] == 0: + list_json.append(apijson['result']) + listrelust.append('pass') + list_pass += 1 + error_num =0 + i+=1 + elif assert_re['code'] == 1: + list_fail += 1 + listrelust.append('fail') + list_json.append(apijson['result']) + error_num +=1 + i-=1 + print('fail',i) + elif assert_re['code'] == 2: + list_exption += 1 + listrelust.append('exception') + list_json.append(assert_re['result']) + error_num += 1 + i-=1 + else: + list_weizhi += 1 + listrelust.append('未知错误') + list_json.append('未知错误') + error_num += 1 + i-=1 + else: + list_exption += 1 + listrelust.append('exception') + list_json.append(apijson['result']) + error_num += 1 + i-=1 + else: + if apijson['code']==0: + LOG.info('inputdata> 参数:%s, url:%s ,返回:%s,预期:%s' % (listconeent[i], listurl[i], apijson, listqiwang[i])) + assert_re = assert_in(asserqiwang=listqiwang[i], fanhuijson=apijson) if assert_re['code']==0: list_json.append(apijson['result']) listrelust.append('pass') list_pass += 1 - elif assert_re['code']==1: - list_fail+=1 + error_num = 0 + elif assert_re['code'] == 1: + list_fail += 1 listrelust.append('fail') list_json.append(apijson['result']) - elif assert_re['code']==2: - list_exption+=1 + error_num = 0 + elif assert_re['code'] == 2: + list_exption += 1 listrelust.append('exception') list_json.append(assert_re['result']) + error_num = 0 else: - list_weizhi+=1 + list_weizhi += 1 listrelust.append('未知错误') list_json.append('未知错误') - else: - list_exption += 1 - listrelust.append('exception') - list_json.append(apijson['result']) - continue - return listrelust,list_fail,list_pass,list_json,list_exption,list_weizhi \ No newline at end of file + error_num = 0 + i-=1 + print('i+1',i) + return listrelust, list_fail, list_pass, list_json, list_exption, list_weizhi diff --git a/test_Report/201806211302-result.html b/test_Report/201806211302-result.html deleted file mode 100644 index 80f4a6b..0000000 --- a/test_Report/201806211302-result.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - http接口自动化测试报告 - - - - -
-

接口测试的结果

-

开始时间: 2018-06-21 13:02:37.688856

-

结束时间: 2018-06-21 13:02:37.992873

-

耗时: 0:00:00.304017

-

结果: - Pass: 0 - Fail: 2 - exception: 1 - weizhicuowu : 0

-

测试详情如下

-

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
用例ID 用例名字key请求内容url请求方式预期实际返回结果
1.0图灵api接口aaaa{'password':'1222'} - http://www.tuling123.com/openapi/apiPOSTcode=40001{'code': 40007, 'text': '您的请求内容为空。'}fail
2.0图灵api接口dfeb1cc8125943d29764a2f2f5c33739{'password':'1222'} - http://www.tuling123.com/openapi/api -POSTcode=40002{'code': 40007, 'text': '您的请求内容为空。'}fail
3.0豆瓣apidfeb1cc8125943d29764a2f2f5c33739{'password':'1222'} - https://api.douban.com/v2/photo/:idGET填写测试预期值error
- - \ No newline at end of file diff --git a/test_Report/201809032125-result.html b/test_Report/201809032125-result.html new file mode 100644 index 0000000..2c20acb --- /dev/null +++ b/test_Report/201809032125-result.html @@ -0,0 +1,130 @@ + + + + http接口自动化测试报告 + + + + + + + + + + + +
+

接口测试的结果

+ + + + + + + + + +
开始时间: 2018-09-03 21:25:58.695376
结束时间: 2018-09-03 21:25:59.179404
耗时: 0:00:00.484028
结果: + Pass: 0 + Fail: 2 + exception: 1 + weizhicuowu : 0
+
+
+
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
用例ID 用例名字key请求内容url请求方式预期实际返回结果
1.0图灵api接口aaaa{'password':'1222'}http://www.tuling123.com/openapi/apiPOSTcode=40001{'code': 40007, 'text': '您的请求内容为空。'}fail
2.0图灵api接口dfeb1cc8125943d29764a2f2f5c33739{'password':'1222'}http://www.tuling123.com/openapi/api +POSTcode=40002{'code': 40007, 'text': '您的请求内容为空。'}fail
3.0豆瓣apidfeb1cc8125943d29764a2f2f5c33739{'password':'1222'}https://api.douban.com/v2/photo/:idGET填写测试预期值exect
+ + + \ No newline at end of file