Files
NewQuant/futures_trading_strategies/jm/main2_lag1.ipynb

652 lines
2.4 MiB
Plaintext
Raw Normal View History

2025-07-15 22:46:08 +08:00
{
"cells": [
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-07-15T02:08:19.597445Z",
"start_time": "2025-07-15T02:08:19.574729Z"
}
},
"source": [
"from datetime import datetime\n",
"%load_ext autoreload\n",
"%autoreload 2\n"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
}
],
"execution_count": 19
},
{
"cell_type": "code",
"id": "a559dfcf",
"metadata": {
"ExecuteTime": {
"end_time": "2025-07-15T02:08:23.300946Z",
"start_time": "2025-07-15T02:08:19.603705Z"
}
},
"source": [
"\n",
"from turtle import down\n",
"from src.analysis.result_analyzer import ResultAnalyzer\n",
"# 导入所有必要的模块\n",
"from src.data_manager import DataManager\n",
"from src.backtest_engine import BacktestEngine\n",
"from src.indicators.indicator_list import INDICATOR_LIST\n",
"from src.indicators.indicators import RSI, HistoricalRange, NormalizedATR, RateOfChange, StochasticOscillator\n",
"from src.strategies.OpenTwoFactorStrategy import SimpleLimitBuyStrategyLong, SimpleLimitBuyStrategyShort, SimpleLimitBuyStrategy\n",
"\n",
"\n",
"# --- 配置参数 ---\n",
"# 获取当前脚本所在目录,假设数据文件在项目根目录下的 data 文件夹内\n",
"# data_file_path = '/mnt/d/PyProject/NewQuant/data/data/SHFE_rb2510/SHFE_rb2510_min60.csv'\n",
"# data_file_path = \"/mnt/d/PyProject/NewQuant/data/data/KQ_m@CZCE_MA/KQ_m@CZCE_MA_min60.csv\"\n",
"# data_file_path = \"/mnt/d/PyProject/NewQuant/data/data/KQ_m@SHFE_rb/KQ_m@SHFE_rb_min60.csv\"\n",
"data_file_path = \"/mnt/d/PyProject/NewQuant/data/data/KQ_m@DCE_jm/KQ_m@DCE_jm_min60.csv\"\n",
"\n",
"initial_capital = 100000.0\n",
"slippage_rate = 0.000 # 假设每笔交易0.1%的滑点\n",
"commission_rate = 0.0001 # 假设每笔交易0.02%的佣金\n",
"\n",
"global_config = {\n",
" 'symbol': 'KQ_m@DCE_jm',\n",
"}\n",
"\n",
"# Short 可用\n",
"strategy_parameters = {\n",
" # 'symbol': \"SHFE_rb2501\", # 根据您的数据文件中的品种名称调整\n",
" 'trade_volume': 1,\n",
" 'lag': 1,\n",
" # 'range_factor': 1.3, # 示例值,需要通过网格搜索优化\n",
" # 'profit_factor': 4.8, # 示例值\n",
" # 'range_factor': 1.1, # 示例值,需要通过网格搜索优化\n",
" # 'profit_factor': 4.9, # 示例值\n",
" 'range_factor_l': 1.3, # 示例值,需要通过网格搜索优化\n",
" 'profit_factor_l': 4.8, # 示例值\n",
" 'range_factor_s': 1.1, # 示例值,需要通过网格搜索优化\n",
" 'profit_factor_s': 4.9, # 示例值\n",
" 'max_position': 10,\n",
" 'enable_log': False,\n",
" 'stop_loss_points': 20,\n",
" 'use_indicator': True,\n",
" # 'indicator': RSI(5, 63, 95),\n",
" # 'indicator': RSI(5, 5, 25),\n",
" 'indicator_l': RSI(5, 63, 95),\n",
" 'indicator_s': RSI(5, 0, 100),\n",
"}\n",
"start_time = datetime(2021, 1, 1)\n",
"end_time = datetime(2024, 6, 1)\n",
"\n",
"start_time = datetime(2024, 6, 1)\n",
"end_time = datetime(2025, 6, 1)\n",
"\n",
"\n",
"# --- 1. 初始化数据管理器 ---\n",
"print(\"初始化数据管理器...\")\n",
"data_manager = DataManager(file_path=data_file_path, symbol=global_config['symbol'], start_time=start_time, end_time=end_time)\n",
"# 确保 DataManager 能够重置以进行多次回测\n",
"# data_manager.reset() # 首次运行不需要重置\n",
"\n",
"# --- 2. 初始化回测引擎并运行 ---\n",
"print(\"\\n初始化回测引擎...\")\n",
"engine = BacktestEngine(\n",
" data_manager=data_manager,\n",
" strategy_class=SimpleLimitBuyStrategy,\n",
" # current_segment_symbol=strategy_parameters['symbol'],\n",
" strategy_params=strategy_parameters,\n",
" initial_capital=initial_capital,\n",
" slippage_rate=slippage_rate,\n",
" commission_rate=commission_rate,\n",
" roll_over_mode=True,\n",
" start_time=start_time,\n",
" end_time=end_time,\n",
" indicators=INDICATOR_LIST\n",
")\n",
"\n",
"print(\"\\n开始运行回测...\")\n",
"engine.run_backtest()\n",
"print(\"\\n回测运行完毕。\")\n",
"\n",
"# --- 3. 获取回测结果 ---\n",
"results = engine.get_backtest_results()\n",
"portfolio_snapshots = results[\"portfolio_snapshots\"]\n",
"trade_history = results[\"trade_history\"]\n",
"initial_capital_result = results[\"initial_capital\"]\n",
"bars = results[\"all_bars\"]\n",
"\n",
"# --- 4. 结果分析与可视化 ---\n",
"if portfolio_snapshots:\n",
" analyzer = ResultAnalyzer(portfolio_snapshots, trade_history, bars, initial_capital_result, INDICATOR_LIST)\n",
"\n",
" analyzer.generate_report()\n",
" analyzer.plot_performance()\n",
" metrics = analyzer.calculate_all_metrics()\n",
" print(metrics)\n",
"\n",
" analyzer.analyze_indicators()\n",
"else:\n",
" print(\"\\n没有生成投资组合快照无法进行结果分析。\")\n",
"\n",
"# --- 4. 结果分析与可视化 (待实现) ---\n",
"# if portfolio_snapshots:\n",
"# analyzer = ResultAnalyzer(portfolio_snapshots, trade_history, initial_capital_result)\n",
"# metrics = analyzer.calculate_all_metrics()\n",
"# print(\"\\n--- 绩效指标 ---\")\n",
"# for key, value in metrics.items():\n",
"# print(f\" {key}: {value:.4f}\")\n",
"#\n",
"# print(\"\\n--- 绘制绩效图表 ---\")\n",
"# analyzer.plot_performance()\n",
"# else:\n",
"# print(\"\\n没有生成投资组合快照无法进行结果分析。\")\n",
"\n"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"初始化数据管理器...\n",
"数据加载成功: /mnt/d/PyProject/NewQuant/data/data/KQ_m@DCE_jm/KQ_m@DCE_jm_min60.csv\n",
"数据范围从 2020-12-31 14:00:00 到 2025-07-11 13:00:00\n",
"总计 7601 条记录。\n",
"\n",
"初始化回测引擎...\n",
"模拟器初始化:初始资金=100000.00, 滑点率=0.0, 佣金率=0.0001\n",
"\n",
"--- 回测引擎初始化完成 ---\n",
" 策略: SimpleLimitBuyStrategy\n",
" 初始资金: 100000.00\n",
" 换月模式: 启用\n",
"\n",
"开始运行回测...\n",
"\n",
"--- 回测开始 ---\n",
"SimpleLimitBuyStrategy 策略初始化回调被调用。\n",
"开始将 DataFrame 转换为 Bar 对象流...\n",
"Bar 对象流生成完毕。\n",
"\n",
"--- 回测结束,检查并平仓所有剩余持仓 ---\n",
"--- 回测结束 ---\n",
"总计处理了 1671 根K线。\n",
"总计发生了 132 笔交易。\n",
"最终总净值: 101641.51\n",
"总收益率: 1.64%\n",
"\n",
"回测运行完毕。\n",
"\n",
"--- 结果分析器初始化完成 ---\n",
"\n",
"--- 交易明细 ---\n",
" 2024-06-06 22:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1661.00 | Comm: 0.17\n",
" 2024-06-11 13:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1599.50 | Comm: 0.16 | PnL: 61.50\n",
" 2024-06-11 21:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1621.00 | Comm: 0.16\n",
" 2024-06-12 21:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1648.00 | Comm: 0.16 | PnL: -27.00\n",
" 2024-06-13 21:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1646.00 | Comm: 0.16\n",
" 2024-06-14 14:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1667.50 | Comm: 0.17 | PnL: -21.50\n",
" 2024-06-17 13:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1626.00 | Comm: 0.16\n",
" 2024-06-17 22:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1653.50 | Comm: 0.17 | PnL: -27.50\n",
" 2024-06-25 11:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1545.00 | Comm: 0.15\n",
" 2024-06-26 11:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1569.00 | Comm: 0.16 | PnL: -24.00\n",
" 2024-06-26 14:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1580.00 | Comm: 0.16\n",
" 2024-07-01 21:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1610.50 | Comm: 0.16 | PnL: -30.50\n",
" 2024-07-02 14:00:00 | BUY | DCE.jm2409 | Vol: 1 | Price: 1605.00 | Comm: 0.16\n",
" 2024-07-05 11:00:00 | CLOSE_LONG | DCE.jm2409 | Vol: 1 | Price: 1572.50 | Comm: 0.16 | PnL: -32.50\n",
" 2024-07-08 21:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1572.00 | Comm: 0.16\n",
" 2024-07-15 09:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1593.00 | Comm: 0.16 | PnL: -21.00\n",
" 2024-07-16 11:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1573.00 | Comm: 0.16\n",
" 2024-07-18 13:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1533.50 | Comm: 0.15 | PnL: 39.50\n",
" 2024-07-18 14:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1560.00 | Comm: 0.16\n",
" 2024-07-22 13:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1513.00 | Comm: 0.15 | PnL: 47.00\n",
" 2024-07-24 09:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1504.00 | Comm: 0.15\n",
" 2024-07-30 13:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1462.00 | Comm: 0.15 | PnL: 42.00\n",
" 2024-07-31 10:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1476.00 | Comm: 0.15\n",
" 2024-08-02 11:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1411.50 | Comm: 0.14 | PnL: 64.50\n",
" 2024-08-05 09:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1425.00 | Comm: 0.14\n",
" 2024-08-12 11:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1367.50 | Comm: 0.14 | PnL: 57.50\n",
" 2024-08-12 21:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1374.00 | Comm: 0.14\n",
" 2024-08-14 11:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1321.50 | Comm: 0.13 | PnL: 52.50\n",
" 2024-08-15 10:00:00 | SELL | DCE.jm2409 | Vol: 1 | Price: 1348.00 | Comm: 0.13\n",
" 2024-08-16 10:00:00 | CLOSE_SHORT | DCE.jm2409 | Vol: 1 | Price: 1372.00 | Comm: 0.14 | PnL: -24.00\n",
" 2024-08-19 14:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1345.00 | Comm: 0.13\n",
" 2024-08-21 14:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1366.00 | Comm: 0.14 | PnL: -21.00\n",
" 2024-08-22 11:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1375.00 | Comm: 0.14\n",
" 2024-08-23 11:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1323.00 | Comm: 0.13 | PnL: 52.00\n",
" 2024-08-23 22:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1323.00 | Comm: 0.13\n",
" 2024-08-26 14:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1354.50 | Comm: 0.14 | PnL: -31.50\n",
" 2024-08-27 09:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1367.00 | Comm: 0.14\n",
" 2024-08-27 14:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1391.00 | Comm: 0.14 | PnL: -24.00\n",
" 2024-08-28 21:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1397.00 | Comm: 0.14\n",
" 2024-09-02 13:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1336.00 | Comm: 0.13 | PnL: 61.00\n",
" 2024-09-05 21:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1257.00 | Comm: 0.13\n",
" 2024-09-12 21:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1289.50 | Comm: 0.13 | PnL: -32.50\n",
" 2024-09-19 09:00:00 | BUY | DCE.jm2501 | Vol: 1 | Price: 1259.00 | Comm: 0.13\n",
" 2024-09-23 21:00:00 | CLOSE_LONG | DCE.jm2501 | Vol: 1 | Price: 1230.50 | Comm: 0.12 | PnL: -28.50\n",
" 2024-09-24 09:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1268.00 | Comm: 0.13\n",
" 2024-09-24 14:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1289.50 | Comm: 0.13 | PnL: -21.50\n",
" 2024-09-25 09:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1338.00 | Comm: 0.13\n",
" 2024-09-26 21:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1381.00 | Comm: 0.14 | PnL: -43.00\n",
" 2024-09-27 13:00:00 | BUY | DCE.jm2501 | Vol: 1 | Price: 1392.00 | Comm: 0.14\n",
" 2024-09-30 09:00:00 | CLOSE_LONG | DCE.jm2501 | Vol: 1 | Price: 1535.00 | Comm: 0.15 | PnL: 143.00\n",
" 2024-10-08 09:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1613.00 | Comm: 0.16\n",
" 2024-10-08 21:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1486.50 | Comm: 0.15 | PnL: 126.50\n",
" 2024-10-09 09:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1493.00 | Comm: 0.15\n",
" 2024-10-17 21:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1339.50 | Comm: 0.13 | PnL: 153.50\n",
" 2024-10-18 14:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1373.00 | Comm: 0.14\n",
" 2024-10-24 13:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1323.50 | Comm: 0.13 | PnL: 49.50\n",
" 2024-10-24 14:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1329.00 | Comm: 0.13\n",
" 2024-10-24 22:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1361.00 | Comm: 0.14 | PnL: -32.00\n",
" 2024-10-25 21:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1375.00 | Comm: 0.14\n",
" 2024-10-28 11:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1411.00 | Comm: 0.14 | PnL: -36.00\n",
" 2024-10-29 09:00:00 | BUY | DCE.jm2501 | Vol: 1 | Price: 1386.00 | Comm: 0.14\n",
" 2024-10-29 14:00:00 | CLOSE_LONG | DCE.jm2501 | Vol: 1 | Price: 1363.00 | Comm: 0.14 | PnL: -23.00\n",
" 2024-10-29 21:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1395.00 | Comm: 0.14\n",
" 2024-10-31 14:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1355.00 | Comm: 0.14 | PnL: 40.00\n",
" 2024-11-04 14:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1362.00 | Comm: 0.14\n",
" 2024-11-07 09:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1319.50 | Comm: 0.13 | PnL: 42.50\n",
" 2024-11-07 13:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1337.00 | Comm: 0.13\n",
" 2024-11-12 09:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1292.00 | Comm: 0.13 | PnL: 45.00\n",
" 2024-11-12 14:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1284.00 | Comm: 0.13\n",
" 2024-11-21 21:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1319.00 | Comm: 0.13 | PnL: -35.00\n",
" 2024-11-22 22:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1302.00 | Comm: 0.13\n",
" 2024-11-26 13:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1276.00 | Comm: 0.13 | PnL: 26.00\n",
" 2024-11-27 10:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1254.00 | Comm: 0.13\n",
" 2024-12-03 11:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1231.00 | Comm: 0.12 | PnL: 23.00\n",
" 2024-12-05 21:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1180.00 | Comm: 0.12\n",
" 2024-12-10 09:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1205.00 | Comm: 0.12 | PnL: -25.00\n",
" 2024-12-12 11:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1189.00 | Comm: 0.12\n",
" 2024-12-16 11:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1124.50 | Comm: 0.11 | PnL: 64.50\n",
" 2024-12-16 14:00:00 | SELL | DCE.jm2501 | Vol: 1 | Price: 1133.00 | Comm: 0.11\n",
" 2024-12-16 14:00:00 | CLOSE_SHORT | DCE.jm2501 | Vol: 1 | Price: 1128.50 | Comm: 0.11 | PnL: 4.50\n",
" 2024-12-17 09:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1220.00 | Comm: 0.12\n",
" 2024-12-18 14:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1183.50 | Comm: 0.12 | PnL: 36.50\n",
" 2024-12-19 14:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1148.00 | Comm: 0.11\n",
" 2025-01-02 10:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1175.00 | Comm: 0.12 | PnL: -27.00\n",
" 2025-01-03 14:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1151.00 | Comm: 0.12\n",
" 2025-01-08 13:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1104.50 | Comm: 0.11 | PnL: 46.50\n",
" 2025-01-09 11:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1102.00 | Comm: 0.11\n",
" 2025-01-14 11:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1128.50 | Comm: 0.11 | PnL: -26.50\n",
" 2025-01-15 14:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1125.00 | Comm: 0.11\n",
" 2025-01-15 22:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1157.00 | Comm: 0.12 | PnL: -32.00\n",
" 2025-01-16 09:00:00 | BUY | DCE.jm2505 | Vol: 1 | Price: 1146.00 | Comm: 0.11\n",
" 2025-01-23 22:00:00 | CLOSE_LONG | DCE.jm2505 | Vol: 1 | Price: 1125.00 | Comm: 0.11 | PnL: -21.00\n",
" 2025-01-24 14:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1131.00 | Comm: 0.11\n",
" 2025-02-07 11:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1154.00 | Comm: 0.12 | PnL: -23.00\n",
" 2025-02-10 14:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1145.00 | Comm: 0.11\n",
" 2025-02-13 09:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1118.00 | Comm: 0.11 | PnL: 27.00\n",
" 2025-02-14 09:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1095.00 | Comm: 0.11\n",
" 2025-02-20 14:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1116.00 | Comm: 0.11 | PnL: -21.00\n",
" 2025-02-27 13:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1091.00 | Comm: 0.11\n",
" 2025-02-28 22:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1112.50 | Comm: 0.11 | PnL: -21.50\n",
" 2025-03-03 13:00:00 | BUY | DCE.jm2505 | Vol: 1 | Price: 1102.00 | Comm: 0.11\n",
" 2025-03-05 10:00:00 | CLOSE_LONG | DCE.jm2505 | Vol: 1 | Price: 1071.00 | Comm: 0.11 | PnL: -31.00\n",
" 2025-03-06 09:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1071.00 | Comm: 0.11\n",
" 2025-03-19 10:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 1028.50 | Comm: 0.10 | PnL: 42.50\n",
" 2025-03-20 21:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 1032.00 | Comm: 0.10\n",
" 2025-03-31 11:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 995.00 | Comm: 0.10 | PnL: 37.00\n",
" 2025-04-01 10:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 999.00 | Comm: 0.10\n",
" 2025-04-07 09:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 963.50 | Comm: 0.10 | PnL: 35.50\n",
" 2025-04-07 14:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 979.00 | Comm: 0.10\n",
" 2025-04-09 09:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 924.00 | Comm: 0.09 | PnL: 55.00\n",
" 2025-04-09 14:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 924.00 | Comm: 0.09\n",
" 2025-04-11 11:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 896.00 | Comm: 0.09 | PnL: 28.00\n",
" 2025-04-11 21:00:00 | SELL | DCE.jm2505 | Vol: 1 | Price: 902.00 | Comm: 0.09\n",
" 2025-04-15 14:00:00 | CLOSE_SHORT | DCE.jm2505 | Vol: 1 | Price: 910.00 | Comm: 0.09 | PnL: -8.00\n",
" 2025-04-16 09:00:00 | BUY | DCE.jm2509 | Vol: 1 | Price: 979.00 | Comm: 0.10\n",
" 2025-04-17 21:00:00 | CLOSE_LONG | DCE.jm2509 | Vol: 1 | Price: 949.00 | Comm: 0.09 | PnL: -30.00\n",
" 2025-04-18 13:00:00 | SELL | DCE.jm2509 | Vol: 1 | Price: 941.00 | Comm: 0.09\n",
" 2025-04-23 14:00:00 | CLOSE_SHORT | DCE.jm2509 | Vol: 1 | Price: 963.50 | Comm: 0.10 | PnL: -22.50\n",
" 2025-04-25 09:00:00 | SELL | DCE.jm2509 | Vol: 1 | Price: 971.00 | Comm: 0.10\n",
" 2025-04-28 21:00:00 | CLOSE_SHORT | DCE.jm2509 | Vol: 1 | Price: 945.00 | Comm: 0.09 | PnL: 26.00\n",
" 2025-05-07 09:00:00 | SELL | DCE.jm2509 | Vol: 1 | Price: 920.00 | Comm: 0.09\n",
" 2025-05-08 09:00:00 | CLOSE_SHORT | DCE.jm2509 | Vol: 1 | Price: 891.50 | Comm: 0.09 | PnL: 28.50\n",
" 2025-05-12 21:00:00 | BUY | DCE.jm2509 | Vol: 1 | Price: 892.00 | Comm: 0.09\n",
" 2025-05-13 09:00:00 | CLOSE_LONG | DCE.jm2509 | Vol: 1 | Price: 871.00 | Comm: 0.09 | PnL: -21.00\n",
" 2025-05-15 09:00:00 | SELL | DCE.jm2509 | Vol: 1 | Price: 894.00 | Comm: 0.09\n",
" 2025-05-16 11:00:00 | CLOSE_SHORT | DCE.jm2509 | Vol: 1 | Price: 861.50 | Comm: 0.09 | PnL: 32.50\n",
" 2025-05-16 14:00:00 | SELL | DCE.jm2509 | Vol: 1 | Price: 860.00 | Comm: 0.09\n",
" 2025-05-19 13:00:00 | CLOSE_SHORT | DCE.jm2509 | Vol: 1 | Price: 845.00 | Comm: 0.08 | PnL: 15.00\n",
" 2025-05-20 22:00:00 | SELL | DCE.jm2509 | Vol: 1 | Price: 847.00 | Comm: 0.08\n",
" 2025-05-23 09:00:00 | CLOSE_SHORT | DCE.jm2509 | Vol: 1 | Price: 826.00 | Comm: 0.08 | PnL: 21.00\n",
" 2025-05-26 11:00:00 | SELL | DCE.jm2509 | Vol: 1 | Price: 800.00 | Comm: 0.08\n",
" 2025-05-30 09:00:00 | CLOSE_SHORT | DCE.jm2509 | Vol: 1 | Price: 752.00 | Comm: 0.08 | PnL: 48.00\n",
"正在计算绩效指标...\n",
"total_return: 0.016415098999999822, annualized_return:0.011430543055123366, 252 / total_days:0.6980609418282548\n",
"绩效指标计算完成。\n",
"\n",
"--- 回测绩效报告 ---\n",
"初始资金 : 100000.00\n",
"最终资金 : 101641.51\n",
"总收益率 : 1.64%\n",
"年化收益率 : 1.14%\n",
"最大回撤 : 0.40%\n",
"夏普比率 : 1.13\n",
"卡玛比率 : 2.89\n",
"总交易次数 : 132\n",
"总实现盈亏 : 829.00\n",
"交易成本 : 16.49\n",
"\n",
"--- 交易详情 ---\n",
"盈利交易次数 : 34\n",
"亏损交易次数 : 32\n",
"胜率 : 51.52%\n",
"盈亏比 : 1.86\n",
"平均每次盈利 : 49.25\n",
"平均每次亏损 : -26.42\n",
"正在绘制绩效图表...\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 1400x1000 with 2 Axes>"
],
"image/png": "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
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1400x700 with 1 Axes>"
],
"image/png": "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1DGzZ8/m9ddfZ/HixeTn55OSksKIESO45pprGD58eJ3j3R+n08mAAQPYsmWL/bpD3d5rTz/9NM888wzXX399zErWDRs28MorrzB79mx27tyJ0+mkU6dOjBo1iosvvpjs7OyI8fV5Turi9ddfx7IsJk6cGLXPsiyee+45AH7+858zdOjQWs/ldrtjvu5Lly7lxRdfZMGCBfbfaejQoUyaNIljjjkmavwdd9zB9OnTefjhhznyyCN56qmnmDVrFgUFBXTq1IkzzzyTX//61zG/ZIDgZ+arr77KvHnz2LNnDwkJCXTq1IljjjmGSy+9lK5du9pj//e///HNN9+wZMkSdu3aRXl5Oe3bt2f06NH84he/4LDDDos4d3gf1meeeYZnnnnGXp84cSJTpkyx1/1+P9OnT+eDDz5g9erVlJaW0qFDB4499lgmT55M586dI849Z84cLrvsMkaNGsVLL73E1KlT+c9//sOWLVtISEjgyCOP5Oabb6ZPnz5R9zxr1iy+/PJL5s+fz86dOykpKSEzM5MRI0Zw1VVXcfjhh0eMr+9nyGeffcY777zDihUrKC4uJiMjg9GjRzN58mT69u0b8++waNEinn32WRYvXkwgEKB3795cfPHFnHfeeTHHH6h27drZy36/P2Lf3r17+eijj5g5cybr1q0jNzcXl8tFr169OO2007j88stjfvaH/zPsvffe4+2332bt2rUUFxfz5Zdf0q1btwZ93p9zzjl8+eWXvP766zE/20RE5NCipK2IiEgj+e6775g6dSo9evTgmGOOYc+ePSxYsIBHHnmEHTt28Ic//CFifFlZGVdccQWLFy8mMTGRsWPHEhcXx3fffcfXX3/N8ccfX+O1XnnlFaZMmYJpmgwYMIDDDz+c3Nxc5syZw3fffccNN9zA9ddfH/PYqVOn8tprrzF48GCOPfZYdu/eHVUhF+6iiy7i+eef58MPP+R3v/sdqampUWNef/11AC688EJcrrr/68VTTz3F3/72N4YPH864ceNYv349ixYt4tprr+Xpp5+OShquXbuWSy+9lH379tGhQwfGjx9PWVkZU6dO5YcffsA0zTpfu7pPPvmEkpISe6IpgF69erFx40b+97//cfbZZ0cd88wzz/D000/jcrkYPnw4HTt2pKioiB07dvDuu+/St29fO2lbVlbGxRdfzE8//URmZiZHHXUUiYmJ7Nmzhw0bNvC3v/2NK6+8MuI/4teuXcs111zDjh07aN++PUcccQQul4tly5bx17/+lf/973+8+uqrpKSkAHDqqaeyePFiFi5cSI8ePTjiiCPsc1VPMsVSWFjI/PnzAWIm6w7Eli1buPzyy9m2bRuZmZmMGzcOn8/HnDlzePTRR/n000+ZOnUqaWlp9jHTp0/n97//PQCHH344o0ePpry8nF27dvHJJ5+QkZERldh45JFHeOmll3A4HAwePJgjjjiCHTt28OWXXzJjxgzuv/9+zj333Ea7r+LiYoCYicL6vtdCPvzwQ+688068Xi9dunRh3LhxmKbJli1bePPNN8nKyopI2tb3OamLL7/8EoCjjz46at/q1avZsmUL0PDn5O233+aee+7BNE0GDhzI6NGj2bZtGzNmzGDGjBm1foatXLmSBx98kLS0NI488kgKCgpYuHAhzz33HGvXruXZZ5+NOua
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"图表绘制完成。\n",
"{'初始资金': 100000.0, '最终资金': np.float64(101641.50989999999), '总收益率': np.float64(0.016415098999999822), '年化收益率': np.float64(0.011430543055123366), '最大回撤': np.float64(0.003952065961642581), '夏普比率': np.float64(1.1252287389584807), '卡玛比率': np.float64(2.892295616030795), '总交易次数': 132, '交易成本': 16.4901, '总实现盈亏': 829.0, '胜率': 0.5151515151515151, '盈亏比': 1.8639858072146658, '盈利交易次数': 34, '亏损交易次数': 32, '平均每次盈利': 49.25, '平均每次亏损': -26.421875, 'initial_capital': 100000.0, 'final_capital': np.float64(101641.50989999999), 'total_return': np.float64(0.016415098999999822), 'annualized_return': np.float64(0.011430543055123366), 'max_drawdown': np.float64(0.003952065961642581), 'sharpe_ratio': np.float64(1.1252287389584807), 'calmar_ratio': np.float64(2.892295616030795), 'total_trades': 132, 'transaction_costs': 16.4901, 'total_realized_pnl': 829.0, 'win_rate': 0.5151515151515151, 'profit_loss_ratio': 1.8639858072146658, 'winning_trades_count': 34, 'losing_trades_count': 32, 'avg_profit_per_trade': 49.25, 'avg_loss_per_trade': -26.421875}\n"
]
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HfmZ5OCgRDL0qRIoqoCKLYxe5a145lWbGzLrqufRV9xbXgrij23jvKKigiNmzYQKU3KSmQMpl+3j9OZiAQIAkzmQnz/VwXlydznjnnnnFOMnPP/dyPYZqmKQAAAAAAAKAF2ZIdAAAAAAAAANIPSSkAAAAAAAC0OJJSAAAAAAAAaHEkpQAAAAAAANDiSEoBAAAAAACgxZGUAgAAAAAAQIsjKQUAAAAAAIAWR1IKAAAAAAAALY6kFAAAAAAAAFocSSkAwHadddZZOuuss5Idxg7ZGR5DOvnyyy/Vq1cvffnll3E9bq9evfTAAw/E9ZipbvPX/ooVK9SrVy+99tprLRrH+PHjNXLkyBY9JwAASG0kpQAACTF+/Hj16tVri39HHHHENu/3v//9T7169dLLL7+81TGzZ89Wr1699NRTT8U77J2K3+/XE088oZNPPll77bWX+vfvr8MPP1y33HKLFi9enOzwEmbmzJkpl3ja/DrYc889deaZZ+rjjz9Odmgp56yzzqr3XA0ZMkQnnXSSXnnlFUUikSYf77XXXlOvXr30448/JiBaAACwIxzJDgAAkPoeffTRZt3P5XLptttuq3dbTk7ONu9z4IEHKicnR2+//bZOPvnkBse88847stvtGjVqVLPiSgfl5eW64IIL9PPPP+uggw7S0UcfrczMTC1evFhTp07VSy+9pJ9++inZYSbEzJkz9eyzz+rSSy/dYt8PP/wgu92ehKik/fffX8cdd5xM09SqVav0/PPP6y9/+YseeeQRDR8+vMXi6NChg3744Qc5HKn7NrB9+/a66qqrJEkVFRV644039I9//ENLlizRuHHjkhwdAACIl9R9NwIASCiv16vMzMxGjXW5XM06h8Ph0HHHHdek+7hcLh1++OF67bXXtGbNGhUXF9fb7/f79cEHH2jo0KEqLCxsVlzp4Nprr9W8efN0//336/DDD6+374orrtC///3vJEWWXG63O2nn7tq1a73r4fDDD9dRRx2lp556qkWTUoZhJPV5aIycnJx6z9Wpp56qI444Qs8++6wuv/xyOZ3OJEYHAADihel7AJAGHnjgAfXq1UsLFizQ1Vdfrb333ltnnHGGJGndunW69tprdcABB6hfv34aNmyYxowZoxUrVsTuvyP9mMLhsKqrq5t0n2OPPVaRSERTp07dYt/HH3+sqqoqHXPMMZKkV199VWeffbb2228/9evXT0cddZSee+657Z4jOqVn08cpbb2X0dy5czV69GjttddeGjhwoM4880x988032zxHaWmp+vbtq0mTJm2xb9GiRerVq5eeeeYZSVIwGNSkSZN02GGHqX///tpnn310+umna/bs2dt9LJubO3euPv74Y/3pT3/aIiElWYm/v//977Gft/b/d/MeQNFeRI8++qieffZZHXzwwRo4cKDOP/98/fHHHzJNUw8++KAOOOAADRgwQGPGjNH69evrHXNrPZ1Gjhyp8ePHb/Nxff3117rssst04IEHql+/fhoxYoRuv/12+Xy+ejE/++yzsXNF/zV0/vfff1+9evXSV199tcW5XnjhBfXq1Uu//fZb7LaFCxfqsssu05AhQ9S/f3+deOKJmj59+jZj3pYePXooPz9fy5Ytq3d7IBDQ/fffr0MPPTT2OO+66y4FAoF645r72t+8p1T0Nd/Qv817QM2cOVNnnHGG9thjDw0aNEgXXXSRfv/99y3O8eGHH+roo49W//79dfTRR+uDDz5o6tNTT0ZGhgYOHCiv16vy8nJJ1v/LW265JXaufv36adSoUfrkk0926FwAAKDlUCkFAGnk8ssvV5cuXXTllVfKNE1J0qWXXqoFCxbozDPPVIcOHVReXq7Zs2frjz/+UMeOHXfofLW1tdprr71UW1urvLw8jRo1SuPGjVNWVtY277f33nurffv2evvtt3XeeefV2/fOO+8oIyNDhxxyiCTp+eef16677qqRI0fK4XDoo48+0s033yzTNPXnP/95h+KP+vzzz3XhhReqX79+Gjt2rAzD0GuvvaZzzjlHzz33nAYMGNDg/YqKirT33nvrvffe09ixY+vtmzp1qux2e6zH1qRJkzR58mSdfPLJGjBggKqrq/XTTz/p559/1v7779+keGfMmCFJTa5Sa6y3335bwWBQZ511ltavX68pU6boiiuu0L777qsvv/xSF154oZYuXapnnnlGd955p+644464nPf999+Xz+fT6aefrjZt2uiHH37QM888o9WrV+v++++XZFXUrF27VrNnz9Zdd921zeMdeOCByszM1HvvvachQ4bU2zd16lTtuuuu2m233SRJv//+u04//XQVFxfrwgsvjN3vkksu0QMPPKBDDz20yY+nqqpKlZWV6ty5c+y2SCSiMWPG6JtvvtEpp5yiHj166LffftOTTz6pJUuW6D//+U9sbLxe+z169NjiuaqqqtKECRNUUFAQu+2NN97Q+PHjNWzYMI0bN061tbV6/vnndcYZZ+j111+P/b749NNPdemll6pnz566+uqrVVFRoWuvvVbt27dv8nO0qRUrVshutys3Nzd22zfffKP//e9/OuOMM5SVlaWnn35al112mT766CPl5+fv0PkAAEDikZQCgDTSu3dvTZw4MfZzZWWlvvvuO11zzTUaPXp07PaLL754h8/Vtm1bXXDBBerbt69M09SsWbP03HPPaf78+Xr66ae32c/GZrNp1KhRevTRR7V48WJ169ZNklRdXa2ZM2fq0EMPjSW2nnnmGXk8nth9zzzzTI0ePVqPP/54XJJSpmnqpptu0j777KMpU6bIMAxJ0mmnnaZRo0bp3nvv1WOPPbbV+x911FG64YYb9Ntvv8USHJL03nvvae+991ZRUZEkqwJsxIgRuvXWW3c45oULF0pSvfPF05o1a/S///0v1h8sEolo8uTJ8vl8evXVV2P/bysqKvT222/r5ptvbvYU0E2NGzeu3v/rU089VV26dNE999yjVatWqaSkRIMGDVLXrl01e/bs7SblPB6PRo4cqWnTpun666+P9Zpat26d5syZUy+R+K9//Uu77LKLXn311dhjOeOMM3T66afr7rvvblRSyu/3x6p8Vq1apXvvvVfhcLheNdvbb7+tzz77TE8//bQGDx4cu33XXXfVjTfeqG+//VZ77rmnpPi99ouKiuo9V6ZpasyYMXI6nZowYYIkqaamRv/617908skn13uNnnDCCTriiCM0efLk2O133323CgsL9dxzz8VeI0OGDNH555+vDh06NCqmcDgce64qKir0/PPPx/qjZWRkxMYtXLhQU6dOjSX29tlnHx133HF69913deaZZzb6OQAAAMnB9D0ASCOnnXZavZ89Ho+cTqe++uorbdiwIa7nuvrqqzVu3DgdddRRGjVqlCZMmKArr7xS3377raZNm7bd+x977LGSrMqoqGnTpsnv98em7kUfQ1RVVZXKy8s1ZMgQLV++XFVVVTv8OObNm6clS5bomGOOUUVFhcrLy1VeXi6v16v99ttPc+bM2eaKYIceeqgcDke9qYi//fabFixYoKOOOip2W25urn7//XctWbJkh2OOTpfcXkVacx1xxBH1GtZHK8WOPfbYesnGAQMGKBgMas2aNXE576b/r6PTuAYNGiTTNPXLL78065hHHnmkysrK6k3hmzZtmiKRSOz/z/r16/XFF1/oyCOPVHV1dew1UFFRoWHDhmnJkiWNeoyvvPKK9ttvP+2333466aST9MUXX+iCCy6oVw34/vvvq0ePHurevXvsPOXl5dp3330lqd600kS99h988EF99NFHmjBhgnr27ClJ+uyzz1RZWalRo0bVi8tms2ngwIGxuNauXat58+bphBNOqPca2X///WPHaoxFixbFnqujjjp
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA/sNJREFUeJzs3Xd8FPX2//HXbE8FkkAgNOmgFFEEQRDFLnavHXtX7OWKX6+Vq+JPvBa814K9Xr2WK4piRy4WsKIIKkgRgUASSDZl+/z+mM1CaEkgZHY37+fjkQeTncnO2c0MmTl7PudjmKZpIiIiIiIiIiIi0owcdgcgIiIiIiIiIiItj5JSIiIiIiIiIiLS7JSUEhERERERERGRZqeklIiIiIiIiIiINDslpUREREREREREpNkpKSUiIiIiIiIiIs1OSSkREREREREREWl2SkqJiIiIiIiIiEizU1JKRERERERERESanZJSIiKS9k4//XROP/10u8PYIenwGlqSr776ij59+vDVV1816fP26dOHhx56qEmfM9lteuyvWLGCPn368PrrrzdrHDfccANjxoxp1n2KiIikOyWlREREtqBPnz5b/Tr77LO3+nPvv/8+ffr04dVXX93qNrNnz6ZPnz48++yzOyP0tBEMBnn66ac54YQT2HPPPRkwYACHHHIIt99+O0uWLLE7vJ1m5syZSZd42vQc2GOPPRg3bhyffvqp3aElndNPP73OezV06FCOP/54/vOf/xCLxRr9fK+//jp9+vThxx9/3AnRioiI2MtldwAiIiI72xNPPNHon7nnnns2e+ynn37i2WefZZ999tnqz+23337k5OQwbdo0TjjhhC1u8/bbb+N0Ohk7dmyj42opysrKOO+885g/fz77778/RxxxBJmZmSxZsoTp06fzyiuv8NNPP9kd5k4xc+ZMXnjhBS677LLN1s2bNw+n02lDVLDPPvtw9NFHY5omK1eu5KWXXuKiiy7i8ccfZ9SoUc0WR8eOHZk3bx4uV/JexrZv356rr74agHXr1vHmm2/yf//3fyxdupRrr73W5uhERESSR/L+NRcREdmG6upqMjMzG7Stx+Np9PMfffTRmz02Z84cDMPgiCOO2Oa+DjnkEF5//XWKi4spLCyssz4YDPLBBx8wYsQI8vPzGx1XSzFhwgQWLFjAgw8+yCGHHFJn3ZVXXsk//vEPmyKzl9frtW3fu+yyS53z4pBDDuHwww/n2WefbdaklGEYtr4PDZGTk1PnvTrppJM49NBDeeGFF7jiiitwu902RiciIpI8NHxPRESS3kMPPUSfPn1YtGgR11xzDXvttRennnoqAGvXrmXChAnsu+++9O/fn5EjR3LxxRezYsWKxM83RT+mUCjE+++/z1577UX79u23ue1RRx1FLBZj+vTpm6379NNP8fv9HHnkkQC89tprnHHGGQwfPpz+/ftz+OGH8+KLL9YbT+2Qno1fJ2y9l9EPP/zAueeey5577smgQYMYN24c33zzzTb3UVJSwq677sqUKVM2W/f777/Tp08fnn/+eQDC4TBTpkzh4IMPZsCAAQwbNoxTTjmF2bNn1/taNvXDDz/w6aef8pe//GWzhBRYib+//vWvie+39vvdtAdQbS+iJ554ghdeeIEDDjiAQYMGcc4557Bq1SpM0+Thhx9m3333ZeDAgVx88cWsX7++znNurafTmDFjuOGGG7b5ur7++msuv/xy9ttvP/r378/o0aO58847CQQCdWJ+4YUXEvuq/drS/t977z369OnDnDlzNtvXyy+/TJ8+ffj1118Tjy1evJjLL7+coUOHMmDAAI477jg++uijbca8LT169KBNmzYsX768zuOhUIgHH3yQgw46KPE677nnHkKhUJ3ttvfY37SnVO0xv6WvTXtAzZw5k1NPPZXdd9+dwYMHc8EFF/Dbb79tto8PP/yQI444ggEDBnDEEUfwwQcfNPbtqSMjI4NBgwZRXV1NWVkZYP0ub7/99sS++vfvz9ixY/nss892aF8iIiKpRJVSIiKSMq644gq6du3KVVddhWmaAFx22WUsWrSIcePG0bFjR8rKypg9ezarVq2iU6dOTbbvmTNnUlFRwVFHHVXvtrWJq2nTpm3Wf+rtt98mIyODAw88EICXXnqJXr16MWbMGFwuF5988gm33XYbpmly2mmnNUnsX3zxBeeffz79+/dn/PjxGIbB66+/zplnnsmLL77IwIEDt/hzBQUF7LXXXrz77ruMHz++zrrp06fjdDo59NBDAZgyZQqPPvooJ5xwAgMHDqSyspKffvqJ+fPnb3O445Z8/PHHwJar1ZrCtGnTCIfDnH766axfv56pU6dy5ZVXsvfee/PVV19x/vnns2zZMp5//nkmTZrEXXfd1ST7fe+99wgEApxyyim0bt2aefPm8fzzz7N69WoefPBBwKqoWbNmDbNnz97iENKN7bfffmRmZvLuu+8ydOjQOuumT59Or1696N27NwC//fYbp5xyCoWFhZx//vmJn7v00kt56KGHOOiggxr9evx+PxUVFXTp0iXxWCwW4+KLL+abb77hxBNPpEePHvz6668888wzLF26lH/+85+JbZvq2O/Ro8dm75Xf7+fuu+8mLy8v8dibb77JDTfcwMiRI7n22mupqanhpZde4tRTT+WNN95I/H/xv//9j8suu4yePXtyzTXXsG7dOiZMmFBvMro+K1aswOl0kpubm3jsm2++4f333+fUU08lKyuL5557jssvv5xPPvmENm3a7ND+REREUoGSUiIikjL69u3L5MmTE99XVFTw3Xffcf3113PuuecmHr/wwgubfN/Tpk1LDM2rj8PhYOzYsTzxxBMsWbKEbt26AVBZWcnMmTM56KCDyMrKAuD555/H5/MlfnbcuHGce+65PPXUU02SlDJNk1tvvZVhw4YxdepUDMMA4OSTT2bs2LHcf//9PPnkk1v9+cMPP5ybb76ZX3/9NZHgAHj33XfZa6+9KCgoAKwKsNGjR3PHHXfscMyLFy8GqLO/plRcXMz7779PTk4OYCVSHn30UQKBAK+99lqiV9G6deuYNm0at91223YNAd3UtddeW+d3fdJJJ9G1a1fuu+8+Vq5cSVFREYMHD2aXXXZh9uzZ9SblfD4fY8aMYcaMGdx0002JXlNr165l7ty5dRKJf//73+nQoQOvvfZa4rWceuqpnHLKKdx7770NSkoFg8FElc/KlSu5//77iUajdc6JadOm8fnnn/Pcc88xZMiQxOO9evXilltu4dtvv2WPPfYAmu7YLygoqPNemabJxRdfjNvt5u677wagqqqKv//975xwwgl1jtFjjz2WQw89lEcffTTx+L333kt+fj4vvvhi4hgZOnQo55xzDh07dmxQTNFoNPFerVu3jpdeeinRHy0jIyOx3eLFi5k+fXoisTds2DCOPvpo3nnnHcaNG9fg90BERCRVafieiIikjJNPPrnO9z6fD7fbzZw5cygvL99p+62srEwkXTauctiW2oqqt99+O/HYjBkzCAaDiaF7QJ2bcr/fT1lZGUOHDuWPP/7A7/fvcOwLFixg6dKlHHnkkaxbt46ysjLKysqorq5m+PDhzJ07d5szgh100EG4XK46QxF//fVXFi1axOGHH554LDc3l99++42lS5fucMyVlZUAicRdUzv00EMTyQYgUSl21FFH1WmePXDgQMLhMMXFxU2y341/17XDuAYPHoxpmvz888/b9ZyHHXYYpaWldYbwzZgxg1gslvj9rF+/ni+//JLDDjuMysrKxDGwbt06Ro4cydKlSxv0Gv/zn/8wfPhwhg8fzvHHH8+XX37JeeedV6ca8L333qNHjx507949sZ+ysjL23ntvgDrDSnfWsf/www/zySefcPfdd9OzZ08APv/8cyoqKhg7dmyduBwOB4MGDUrEtWbNGhYsWMCxxx5b5xjZZ599Es/VEL///nvivTr88MN5/vnn2W+//bjzzjvrbDdixIg6lWZ9+/YlOzubP/74Y7tfv4iISCpRpZSIiKSMTYfjeTwerr32WiZNmsQ+++zDoEGD2G+//TjmmGNo27Z
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HfmZoeEkKRjiAg0kWlo4gsiH1dXXt39ZVVUVfFgq6ytpVdUVwb9l1FXCtIWUVU7KIgiqCAFGkhhfRMP+8fJxkIJJAyycyE7+e6vDyZeebMPXNmhjP33M/9GKZpmgIAAAAAAACakC3aAQAAAAAAAODgQ1IKAAAAAAAATY6kFAAAAAAAAJocSSkAAAAAAAA0OZJSAAAAAAAAaHIkpQAAAAAAANDkSEoBAAAAAACgyZGUAgAAAAAAQJMjKQUAAAAAAIAmR1IKAFDFBRdcoAsuuCDaYTSJLVu2qGfPnnrzzTejHQpq6dZbb9WYMWMius8333xTPXv21JYtWyK631hW3Wv/scceU8+ePZs8lp49e+qxxx5r8vsFAADR54h2AACA+Ldy5Uq9+eabWrlypX7++WcFAgH9/PPPNY5//fXX9dxzz2nLli065JBDapUIu+qqq/TFF1/os88+U0pKSrVjbrzxRi1atEhLly5VRkZGgx5Tc7Z582bNmjVLn332mXbu3Cmn06kePXpowoQJOvvss5WQkBDtEBvFk08+qe7du2vs2LHRDkWSlQybMmVK+G+73a6WLVtq+PDhmjx5stq0aRPF6GLLli1bdPzxx4f/ttlsatOmjY444ghNmjRJhx9+eJ33ecEFF2jXrl2aN29eJEMFAAB1QFIKAFDFs88+W+fbfPzxx/rvf/+rHj16qEOHDtq4cWONY2fPnq277rpLv/vd73TJJZdo2bJlmjZtmsrLy3XllVfWeLtTTjlFS5Ys0QcffKDTTjttn+vLy8v14YcfasSIESSk9uOjjz7SddddJ5fLpVNPPVU9evSQ3+/Xt99+q7///e9at26d7r333miH2Sieeuop/e53v9snKXXqqadq4sSJcrlcUYnr2muvVYcOHeTz+bRixQq99dZb+vbbbzVv3jy53e4mi+Pqq6/e73swFpx00kkaNWqUQqGQ1q9fr1dffVWffPKJ5syZU6/EFAAAiC6SUgBwECgrK1NSUlKtxtbni/k555yjK664QgkJCbrnnntqTEp5PB7985//1LHHHqtHH31UknTWWWcpFArpiSee0Nlnn6309PRqbztmzBglJydr7ty51SalFi9erLKyMp1yyil1jv9g8dtvv2ny5Mlq166dXnzxRbVu3Tp83XnnnadNmzbpo48+il6AUWK322W326N2/6NGjVLfvn0lSX/4wx+UkZGhZ555RosXL9aJJ57YZHE4HA45HLF9ati7d2+deuqp4b8HDRqkq6++Wq+++qruueeeKEYGAADqg55SANDMVPaFWbdunW688UYdddRROvfccyVJOTk5mjJlikaNGqU+ffpoxIgRuvrqq6v00qlPT6msrKxaTfn66quvVFBQEI6n0nnnnaeysrL9JkQSEhI0btw4ffnll8rLy9vn+nnz5ik5OVljxoxRQUGBHnzwQZ188skaOHCgBg0apMsvv1xr1qw5YIw1Pf7qehmFQiG98MILmjhxovr27athw4Zp6tSpKiws3O99PPvss+rZs6e2bt26z3XTp09Xnz59wvvYuHGj/vznP2v48OHq27evRo0apcmTJ6u4uPiAj2Vvs2bNUllZmf72t79VSUhV6ty5sy666CJJ+++3tXcPoMrX3IYNG3TTTTfpyCOP1JAhQ/TII4/INE1t375dV199tQYNGqThw4frueeeq7K/mno6ffXVV+rZs6e++uqr/T6uZ599Vn/84x91zDHHqF+/fjrjjDO0cOHCfWIuKyvTW2+9pZ49e6pnz5669dZbq73/P/3pT1Wmiu3p7LPP1hlnnFHlsnfeeUdnnHGG+vXrp6OPPlqTJ0/W9u3b9xvz/gwePFiSlUTc0/r163Xttdfq6KOPVt++fXXGGWdo8eLFVcY05LW/d0+pW2+9Nfxc7f3fnsff5/Pp0Ucf1QknnKA+ffpo9OjReuihh+Tz+ars3+fz6b777tOQIUM0cOBAXXXVVdqxY0edn589DRkyRJLCx67yWH777be6//77NWTIEA0YMEDXXHON8vPzG3RfAAAg8mL75zAAQL1dd9116ty5syZPnizTNCVJf/7zn7Vu3Tqdf/75at++vfLz8/XZZ59p+/bt6tChQ6PH9NNPP0mS+vTpU+XyI444QjabTatXr65SBbG3k08+WW+99ZYWLFig888/P3x5QUGBPv30U02cOFEJCQlau3atPvjgA40fP14dOnRQbm6uXnvtNZ1//vl67733ItarZ+rUqXrrrbd0xhln6IILLtCWLVv0n//8Rz/99JNeffVVOZ3Oam83YcIE/f3vf9eCBQt0+eWXV7luwYIFGj58uNLT0+Xz+XTZZZfJ5/Pp/PPPV1ZWlrKzs/XRRx+pqKhIqampdYp3yZIl6tixowYNGlTvx7w/kydPVrdu3XTjjTfq448/1hNPPKEWLVpo9uzZGjJkiG666SbNnTtXDz74oPr27aujjjoqIvf70ksvacyYMTr55JPl9/v13nvv6brrrtNTTz2lY489VpL00EMP6Y477lC/fv101llnSZI6depU7f4mTJigW265RStXrlS/fv3Cl2/dulUrVqzQzTffHL7siSee0IwZMzRhwgSdeeaZys/P17///W+dd955evvtt5WWllbnx1OZrNzztmvXrtU555yjNm3a6IorrlBSUpIWLFiga665Ro899phOOOEESVYiK1Kv/bPPPltDhw6tctnSpUs1d+5cZWZmSrISs1dffbW+/fZbnXXWWerWrZt++eUXvfjii9q4caP+9a9/hW97++23691339VJJ52kQYMG6csvv2zwdMHNmzdLklq0aFHl8mnTpiktLU2TJk3S1q1b9eKLL+qee+7RI4880qD7AwAAkUVSCgCaqV69emn69Onhv4uKirR8+XLdfPPNuuyyy8KX/+lPf2qymHJycsLNnPfkcrnUokUL7dy5c7+3HzJkiFq1aqV58+ZVSUotXLhQfr9fJ598siSrKmbRokWy2XYXBJ966qmaMGGC/vvf/+qaa65p8GNZtmyZXn/9dT388MPh+5WkY445RpdffrkWLlxY5fI9tWvXTgMGDND8+fOrJKVWrlyp3377TZMmTZJkVcZs2bJFM2bM0Pjx48PjKq+vi5KSEmVnZ9dYARQJ/fr1C0+hOvvsszVmzBg98MADuuGGG8LJh5NOOkkjR47UG2+8EbGk1KJFi6pU6p133nk644wz9Pzzz4eTUqeeeqruvvtudezYcb+JT0kaO3asXC6XFixYUCUptWDBAhmGoQkTJkiykkePPfaYrr/+el111VXhcePGjdPpp5+uV155pcrlNSkpKVF+fr58Pp++//57zZw5Uy6XS8cdd1x4zN/+9jcdcsgheuONN8JTbM8991ydc845evjhh8NJqUi+9gcOHKiBAweG/960aZPuvfdeDR8+XH/84x8lSXPnztXnn3+ul19+OVzhJUmHHXaY7rrrLn333XcaNGiQ1qxZo3fffVfnnnuu7rrrLknWcbrxxhv3uyjC3srLy5Wfn69QKKRff/1V999/vyRVeX9IVpLqueeek2EYkqzk2csvv6zi4uI6J3MBAEDjYfoeADRTlV8aKyUkJMjpdOrrr78+4PSyxuLxeGqsHnK73fJ4PPu9vd1u18SJE7V8+fIqU73mzZunrKyscFWHy+UKfykPBoPatWuXkpKS1LVr13C1VkMtXLhQqampGj58uPLz88P/HXHEEUpKSjrglLMJEyZo1apV4UoPyUp6uFyucCPuylUGP/30U5WXlzco3pKSEklScnJyg/azP2eeeWZ42263q0+fPjJNs8rlaWlp6tq16z5T0xpiz4RUYWGhiouLdeSRR9b7WKekpGjUqFFasGBBuMpQkubPn68BAwaoXbt2kqT3339foVB
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKQAAAK1CAYAAAD2eTbUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HvmZoeEhJAqkhVKYJYkCZYEVBxXXvvLlhQVrGslbWt7IriKop9V1FfK30VG3ZR7KB0pIWE9DL9vH8cMhAIkISZzCTz+1wXFydznpxzz5y0c8/93I9hmqaJiIiIiIiIiIhII7HFOgAREREREREREUksSkiJiIiIiIiIiEijUkJKREREREREREQalRJSIiIiIiIiIiLSqJSQEhERERERERGRRqWElIiIiIiIiIiINColpEREREREREREpFEpISUiIiIiIiIiIo1KCSkREREREREREWlUSkiJiMhunX/++Zx//vmxDqNRrF+/nh49evDmm2/GOhSpo0mTJjFixIiIHvPNN9+kR48erF+/PqLHjWe1fe0/9thj9OjRo9Fj6dGjB4899lijn1dEREQanxJSIiISUT/++CN33XUXp512GgcffHCdb2oXL15Mjx496NGjB4WFhXsce9VVV9G3b1/Ky8t3O+bGG2+kV69eFBUV1Sv+RLNu3TruuOMOjjnmGHr37k3//v0566yzeOGFF/B4PLEOL2qefPJJ3n///ViHEVadCKv+d9BBBzFkyBAmTZpEXl5erMOLK9UJtOp/Bx54IEcffTTjxo1j6dKlDTrm+eefz+jRoyMcqYiIiOyJI9YBiIhI/HrmmWfq/Tkff/wx//d//0f37t1p3749a9as2evnhEIhJk+eTEpKCpWVlXsdf/LJJ/Phhx/y/vvvc+qpp+6yv6qqig8++IDBgweTlZVV7+eQKD766COuu+46XC4Xp5xyCt27d8fv9/Ptt9/yj3/8gxUrVnDvvffGOsyomD59OieccALHHntsjcdPOeUURo0ahcvliklc1157Le3bt8fn8/H999/z1ltv8e233zJ79mzcbnejxXH11VdzxRVXNNr5GmL06NEMHTqUUCjEypUreeWVV/jkk0947bXXOPDAA2MdnoiIiOyFElIiIgmmsrKSlJSUOo1tyE352WefzeWXX05SUhL33HNPnRJSr776Kps2beL000/nxRdf3Ov4ESNGkJqayqxZs2pNSC1cuJDKykpOPvnkesefKP744w8mTJhA27ZteeGFF2jVqlV437nnnsvatWv56KOPYhdgjNjtdux2e8zOP3ToUHr37g3An//8Z7Kysnj66adZuHAhJ510UqPF4XA4cDji+8/Egw46iFNOOSX8cf/+/bn66qt55ZVXuOeee2IYmYiIiNSFpuyJiDRj1X1gVqxYwY033shhhx3GOeecA0B+fj633HILQ4cOpVevXgwePJirr766Ru+chvSQysnJISkpqc7ji4uLeeSRR7j22mvJyMio0+ckJSVx/PHH8+WXX7J169Zd9s+ePZvU1FRGjBhBcXExDz74IGPGjKFfv37079+fyy67jGXLlu31PLt7/rX1LgqFQjz//POMGjWK3r17c9RRR3HHHXdQUlKyx3M888wz9OjRgw0bNuyyb8qUKfTq1St8jDVr1nDNNdcwaNAgevfuzdChQ5kwYQJlZWV7fS47mzFjBpWVlfz973+vkYyq1qlTJy688EJgz/21du75U/01t3r1aiZOnMihhx7KkUceySOPPIJpmmzatImrr76a/v37M2jQIJ599tkax9tdD6evvvqKHj168NVXX+3xeT3zzDOcddZZHHHEEfTp04fTTjuN+fPn7xJzZWUlb731Vnja16RJk2o9/5VXXskxxxxT67nOPPNMTjvttBqPvfPOO5x22mn06dOHww8/nAkTJrBp06Y9xrwnAwYMAKwE4o5WrlzJtddey+GHH07v3r057bTTWLhwYY0x+/K1v3MPqUmTJtWYJrfjvx2vv8/n49FHH+W4446jV69eDBs2jIceegifz1fj+D6fj/vuu48jjzySfv36cdVVV7F58+Z6vz47OvLIIwHC1676Wn777bfcf//9HHnkkRxyyCGMGzdur9OCRUREJPri+60vERGJiOuuu45OnToxYcIETNME4JprrmHFihWcd955tGvXjsLCQj777DM2bdpE+/btGy22qVOnkpuby1lnncW///3vOn/emDFjeOutt5g3bx7nnXde+PHi4mI+/fRTRo0aRVJSEsuXL+f999/nxBNPpH379hQUFPDqq69y3nnnMWfOHFq3bh2R53HHHXfw1ltvcdppp3H++eezfv16/vvf//Lrr7/yyiuv4HQ6a/28kSNH8o9//IN58+Zx2WWX1dg3b948Bg0aRGZmJj6fj0svvRSfz8d5551HTk4OeXl5fPTRR5SWlpKenl6veD/88EM6dOhA//79G/yc92TChAl06dKFG2+8kY8//pgnnniCFi1aMHPmTI488kgmTpzIrFmzePDBB+nduzeHHXZYRM774osvMmLECMaMGYPf72fOnDlcd911TJ8+naOPPhqAhx56iNtvv50+ffpwxhlnANCxY8dajzdy5EhuvvlmfvzxR/r06RN+fMOGDXz//ffcdNNN4ceeeOIJpk6dysiRIzn99NMpLCzkP//5D+eeey5vv/12nROuO6pOVO74ucuXL+fss8+mdevWXH755aSkpDBv3jzGjRvHY489xnHHHQdYSaxIfe2feeaZDBw4sMZjixYtYtasWWRnZwNWUvbqq6/m22+/5YwzzqBLly78/vvvvPDCC6xZs6bG9/dtt93Gu+++y+jRo+nfvz9ffvnlPk8RXLduHQAtWrSo8fjkyZPJyMhg/PjxbNiwgRdeeIF77rmHRx55ZJ/OJyIiIvtGCSkRkQTQs2dPpkyZEv64tLSUJUuWcNNNN3HppZeGH7/yyisbNa5ly5bx6quv8tRTT9V7mtSRRx5Jbm4us2fPrpGQmj9/Pn6/nzFjxgBWNcyCBQuw2bYXBZ9yyimMHDmS//u//2PcuHH7/DwWL17M66+/zsMPPxw+L8ARRxzBZZddxvz582s8vqO2bdtyyCGHMHfu3BoJqR9//JE//viD8ePHA1ZFzPr165k6dSonnnhieFz1/vooLy8nLy9vt5U/kdCnT5/wtKkzzzyTESNG8MADD3DDDTeEEw+jR49myJAhvPHGGxFLSC1YsKBGhd65557LaaedxnPPPRdOSJ1yyincdddddOjQocaUr9oce+yxuFwu5s2bVyMhNW/ePAzDYOTIkYCVOHrssce4/vrrueqqq8Ljjj/+eMaOHcvLL79c4/HdKS8vp7CwEJ/Pxw8//MC0adNwuVwMHz48PObvf/87++23H2+88UZ4Wu0555zD2WefzcMPPxxOSEXya79fv37069cv/PHatWu59957GTRoEGeddRYAs2bN4vPPP+ell14KV3YBdOvWjTvvvJPvvvuO/v37s2zZMt59913OOecc7rzzTsC6TjfeeCO//fZbnWOqqqqisLCQUCjEqlWruP/++wFqfH+AlaB69tlnMQwDsBJnL730EmVlZfVO5IqIiEjkaMqeiEgCqL5hrJaUlITT6eTrr7/e65SyaPr73//O0KFDGTx4cL0/1263M2rUKJYsWVJjetfs2bPJyckJV3O4XK7wDXkwGKSoqIiUlBQ6d+7Mr7/+GpHnMX/+fNLT0xk0aBCFhYXhfwcffDApKSl7nWY2cuRIfvnll3CFB1gJD5fLFW66nZaWBsCnn35KVVXVPsVbvTphamrqPh1nT04//fTwtt1up1evXpimWePxjIwMOnfuvMt0tH2xYzKqpKSEsrIyDj300AZf67S0NIYOHcq8efPC1YUAc+fO5ZBDDqFt27YAvPfee4RCIUaOHFnjayAnJ4dOnTrt9Wug2kUXXcTAgQMZNmwY1157LcnJyTzxxBO0adMGsCoAv/zyS0aOHBlOXhUWFlJUVMTgwYNZs2ZNeFW+aH3tV1ZWMn78eDIyMpgyZUo4mTx//ny6dOnCAQccUOM1qJ5KV/0
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKQAAAK1CAYAAAD2eTbUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8VFX6x/HPnZ5JgyS00KQIqBRBrDTBioiKrr13XVgVYRXshbWt7Iriz4Z9VdS1gpRVbNhFUSygdASkJCE90+/vj0sGAgGSMJNJMt/368WLm7ln7jkzdzKZ+8xznmOYpmkiIiIiIiIiIiJST2yJHoCIiIiIiIiIiCQXBaRERERERERERKReKSAlIiIiIiIiIiL1SgEpERERERERERGpVwpIiYiIiIiIiIhIvVJASkRERERERERE6pUCUiIiIiIiIiIiUq8UkBIRERERERERkXqlgJSIiIiIiIiIiNQrBaRERGSXzj//fM4///xED6NerF27lu7du/Pmm28meihSQxMmTGDYsGExPeabb75J9+7dWbt2bUyP25BV99p/5JFH6N69e72PpXv37jzyyCP13q+IiIjUP0eiByAiIk3LokWLePPNN1m0aBG//fYboVCI3377rdq2u7rgHTduHFdcccUu+7jqqqv48ssv+fzzz0lLS9vlMebOncv8+fNp3rx57R9IklizZg3Tpk3j888/Z9OmTTidTrp168bw4cM588wz8Xg8iR5iXDz++ON07dqVo48+OtFDAaxA2MSJE6M/2+12srOzGTBgAGPHjqVVq1YJHF3DsnbtWo466qjozzabjVatWnHAAQcwZswY9ttvv1of8/zzz2fLli3MnDkzlkMVERGR3VBASkREdunpp5+u9X0++eQT/vvf/9KtWzfatWvHqlWrdtt+wIABnHzyyVVu23///Xd7n5NOOomPPvqIDz74gFNOOWWn/RUVFXz44YcMHDhQwajd+Pjjj7n22mtxuVycfPLJdOvWjWAwyHfffcc///lPli1bxt13353oYcbFE088wXHHHbdTQOrkk09mxIgRuFyuhIzrmmuuoV27dgQCAX744QfeeustvvvuO2bOnInb7a63cVx99dW7DQo3BCeeeCKDBw8mEomwfPlyXnnlFT799FNee+21OgWlREREpH4pICUikmTKy8vxer01aluXi/Kzzz6byy+/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
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKQAAAK1CAYAAAD2eTbUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8VFX6x/HPnZoeSEKRKoKAShcLHbEioqKurr3goq4IIhZQV7FhgxUEfzbsu4q4VpCyKzZULCiIBVS6dJKQnun398dNBgIhPTMp3/frxYubuWfufWZyZjL3mXOeY5imaSIiIiIiIiIiIhIhtmgHICIiIiIiIiIijYsSUiIiIiIiIiIiElFKSImIiIiIiIiISEQpISUiIiIiIiIiIhGlhJSIiIiIiIiIiESUElIiIiIiIiIiIhJRSkiJiIiIiIiIiEhEKSElIiIiIiIiIiIRpYSUiIiIiIiIiIhElBJSIiJSIZdffjmXX355tMOIiK1bt9KlSxfeeeedaIciFTRp0iSGDRtWo8d855136NKlC1u3bq3R49ZlpfX9WbNm0aVLl4jH0qVLF2bNmhXx84qIiEhkOKIdgIiINEyhUIj33nuP//73v6xZs4bs7GzatGnDmWeeyejRo3G73Qfd56233uLFF19k69atHHbYYRVKgl1//fUsX76cL7/8koSEhFLbTJw4kSVLlrBs2TKaNm1aI4+vIdqyZQtz5szhyy+/ZPfu3TidTjp37szw4cO56KKLiImJiXaIteKZZ56hU6dOnHLKKdEOBbASYZMnTw7/bLfbSU1NZcCAAUyYMIEWLVpEMbq6ZevWrZx88snhn202Gy1atOCYY45h7NixHHXUUZU+5uWXX87evXtZsGBBTYYqIiIiB1BCSkREKuSFF16oVPvCwkImT55Mr169+Otf/0pqaiorV65k1qxZLF++nFdffRXDMMLt586dy7333svpp5/O1VdfzYoVK3jwwQcpLCxkzJgxhzzP2WefzSeffMJHH33EueeeW2ocH3/8MQMHDlQyqgyffvop48ePx+Vycc4559C5c2f8fj/ff/89jz/+OOvWreOBBx6Idpi14tlnn+X0008/KCF1zjnnMGLECFwuV1TiGjduHG3atMHn87Fq1Sreffddvv/+exYsWFBqQre23HDDDWW+BuuCs846i8GDBxMKhVi/fj1vvPEGn3/+OfPmzatSUkpERERqnxJSIiKNWEFBAXFxcRVqW9mLcqfTyRtvvEGfPn3Ct1144YW0bt06nJTq378/AB6PhyeeeIKhQ4fy5JNPhtuGQiGefvppLrroIpKTk0s9z7Bhw4iPj2f+/PmlJqSWLl1KQUEBZ599dqXib0z+/PNPJkyYQKtWrXjllVdo3rx5eN+ll17K5s2b+fTTT6MXYJTY7XbsdnvUzj948GC6d+8OwF/+8heaNm3K888/z9KlSznzzDMjFofD4cDhqNsfGY8++mjOOeec8M99+vThhhtu4I033uD++++PYmQiIiJyKKohJSLSSBTXgVm3bh0TJ07kuOOO45JLLgFgz549TJ48mcGDB9OtWzcGDhzIDTfcUKJ2TmVrSLlcrhLJqGKnnnoqAOvXrw/f9s0335CVlRWOp9ill15KQUFBmcmQmJgYTjvtNL7++msyMjIO2r9gwQLi4+MZNmwYWVlZPProo4wcOZLevXvTp08frr32WtauXVvu4znU4y+tdlEoFOLll19mxIgRdO/enf79+3PPPfeQnZ1d5jleeOEFunTpwrZt2w7aN336dLp16xY+xqZNm7jpppsYMGAA3bt3Z/DgwUyYMIHc3NxyH8uB5syZQ0FBAQ899FCJZFSx9u3bc+WVVwJl19c6sOZPcZ/buHEjt956K8ceeywnnngiM2bMwDRNduzYwQ033ECfPn0YMGAAL774YonjHaqG0zfffEOXLl345ptvynxcL7zwAn/961854YQT6NGjB+eddx6LFy8+KOaCggLeffddunTpQpcuXZg0aVKp57/uuutKTA/b30UXXcR5551X4rb333+f8847jx49enD88cczYcIEduzYUWbMZenbty9gJRD3t379esaNG8fxxx9P9+7dOe+881i6dGmJNtXp+wfWkJo0aVL4uTrw3/6/f5/Px5NPPsmpp55Kt27dGDJkCI899hg+n6/E8X0+H1OnTuXEE0+kd+/eXH/99ezcubPSz8/+TjzxRIDw7674d/n999/z8MMPc+KJJ9KrVy9uvPFGMjMzq3UuERERqZq6/XWXiIjUuPHjx9O+fXsmTJiAaZoA3HTTTaxbt47LLruM1q1bk5mZyZdffsmOHTto06ZNjZ4/PT0doMT0uV9//RWAbt26lWh7zDHHYLPZWLNmTYnRDwcaOXIk7777LosWLeKyyy4L356VlcUXX3zBiBEjiImJ4Y8//uCjjz7ijDPOoE2bNqSnp/Pmm29y2WWX8eGHH9ZYbZ577rmHd999l/POO4/LL7+crVu38u9//5tff/2VN954A6fTWer9hg8fzuOPP86iRYu49tprS+xbtGgRAwYMIDk5GZ/Px+jRo/H5fFx22WWkpaWxa9cuPv30U3JyckhMTKxUvJ988glt27YtNYFYEyZMmEDHjh2ZOHEin332GU8//TRNmjRh7ty5nHjiidx6663Mnz+fRx99lO7du3PcccfVyHlfffVVhg0bxsiRI/H7/Xz44YeMHz+eZ599lqFDhwLw2GOPcffdd9OjRw8uvPBCANq1a1fq8YYPH84dd9zB6tWr6dGjR/j2bdu2sWrVKm6//fbwbU8//TQzZ85k+PDhXHDBBWRmZvKvf/2LSy+9lPfee4+kpKRKP57iROX+9/3jjz+4+OKLadGiBX/729+Ii4tj0aJF3HjjjcyaNSucAP7zzz9rrO9fdNFF9OvXr8Rty5YtY/78+aSkpABWUvaGG27g+++/58ILL6Rjx478/vvvvPLKK2zatIn/+7//C9/3rrvu4oMPPuCss86iT58+fP3119WeIrhlyxYAmjRpUuL2Bx98kKSkJMaOHcu2bdt45ZVXuP/++5kxY0a1ziciIiKVp4SUiEgj07VrV6ZPnx7+OScnh5UrV3L77bczevTo8O3XXXddrZx/zpw5JCQkMHjw4PBte/bsCRdu3p/L5aJJkybs3r27zGOeeOKJNGvWjAULFpRISC1evBi/38/IkSMBazTMkiVLsNn2DRA+55xzGD58OP/5z3+48cYbq/34VqxYwVtvvcW0adPC5wU44YQTuPbaa1m8eHGJ2/fXqlUrevXqxcKFC0skpFavXs2ff/7J2LFjAWtEzNatW5k5cyZnnHFGuF3x/srIy8tj165dhxz5UxN69OgRnjZ10UUXMWzYMB555BFuueWWcOLhrLPOYtCgQbz99ts1lpBasmRJiULsl156Keeddx4vvfRSOCF1zjnnMGXKFNq2bVtm0hPglFNOweVysWjRohIJqUWLFmEYBsOHDwesxNGsWbO4+eabuf7668PtTjvtNEaNGsXrr79e4vZDycvLIzMzE5/Px48//sjs2bNxuVycdNJJ4TYPPfQQhx12GG+//XZ4Wu0ll1zCxRdfzLRp08IJqZrs+71796Z3797hnzdv3swDDzzAgAED+Otf/wrA/Pnz+eqrr3jttdfCI7sAjjzySO69915++OEH+vTpw9q1a/nggw+45JJLuPfeewHr9zRx4kR+++23CsdUWFhIZmYmoVCIDRs28PDDDwOUeH2AlaB68cUXw/XrQqEQr732Grm5uZVO5IqIiEj1aMqeiEgjU3zBWCwmJgan08m3335b7pSy6nrmmWf46quvmDhxYolRHh6P55CjhtxuNx6Pp8zj2u12RowYwcqVK0tM71qwYAFpaWnh0Rwulyt8QR4MBtm7dy9xcXF06NAhPEqruhYvXkxiYiIDBgwgMzMz/O+YY44hLi6u3Glmw4cP55dffgmP8AAr4eFyucJFt4tXE/ziiy8oLCysVrx5eXkAxMfHV+s4ZbngggvC23a7nW7dumGaZonbk5KS6NChw0HT0apj/2RUdnY2ubm5HHvssVX+XRcnUhc
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKMAAAK1CAYAAAAUpS2tAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8FNX6x/HPbE0PJIFgaCJIky4WmhQVQUTFgr17Ua9cEEEFKyp2uILgT7FhuSpiRZByr9hQUSxgR6ULSEkC6dn++2OyC4EASXaT3cD3/XrxYjJzdubZ5Gyy8+w5zzECgUAAERERERERERGRWmCJdgAiIiIiIiIiInL4UDJKRERERERERERqjZJRIiIiIiIiIiJSa5SMEhERERERERGRWqNklIiIiIiIiIiI1Bolo0REREREREREpNYoGSUiIiIiIiIiIrVGySgREREREREREak1SkaJiIiIiIiIiEitUTJKRETKueyyy7jsssuiHUat2LRpE23atOGdd96JdihSSePHj2fAgAERPec777xDmzZt2LRpU0TPG8sq6vvTp0+nTZs2tR5LmzZtmD59eq1fV0RERKLHFu0ARESkbvP7/bz33nv897//5bfffiMvL48mTZpw+umnc8011+B0Osu139/N7tixYxkxYsR+r3P99dezbNkyvvjiC5KSkvZ7jsWLF7N06VLq169f/Sd1iNu4cSPPPfccX3zxBdu3b8dut9O6dWsGDx7MBRdcQFxcXLRDrBFPP/00rVq14pRTTol2KICZBJswYULoa6vVSnp6Or169WLMmDFkZmZGMbrYsmnTJk4++eTQ1xaLhczMTI455hhGjhxJu3btqnzOyy67jJ07dzJ//vxIhioiIiKVoGSUiIiU8/zzz1epfUlJCRMmTKBLly5ceOGFpKens2LFCqZPn86yZct4+eWXMQyj3GN69erFWWedVW5f+/btD3idM888k48//pgPP/yQs88+u8I4PvroI3r37q1E1AF88sknjB49GofDwVlnnUXr1q3xeDx89913PPbYY6xevZr7778/2mHWiJkzZ3Laaaftk4w666yzGDJkCA6HIypxjRo1iiZNmuB2u1m5ciXvvvsu3333HfPnz98nmVuTbrjhhgMmhGPBGWecwUknnYTf72fNmjW8/vrrfPbZZ8yZM6daCSkRERGJDiWjREQOA8XFxSQkJFSqbVVvyO12O6+//jrdunUL7Rs+fDiNGzcOJaR69uxZ7jFHHnnkPsmogxkwYACJiYnMmzevwmTUkiVLKC4u5swzz6zSeQ8nf/31F2PGjCErK4uXXnqJhg0bho5dcsklbNiwgU8++SR6AUaJ1WrFarVG7fonnXQSHTt2BOD888+nfv36PPvssyxZsoTTTz+91uKw2WzYbLH91rB9+/blfnd069aNG264gddff5377rsvipGJiIhIVahmlIjIISZY92X16tWMHTuW4447josvvhiAHTt2MGHCBE466SQ6dOhA7969ueGGG8rVyqlqzSiHw1EuERV06qmnArBmzZoKH1daWorL5ar0deLi4hg4cCBfffUVOTk5+xyfP38+iYmJDBgwgF27dvHII48wdOhQunbtSrdu3bj22mtZtWrVQa+zv+dfUa0iv9/Piy++yJAhQ+jYsSM9e/bk7rvvJi8v74DXeP7552nTpg2bN2/e59iUKVPo0KFD6Bzr16/nX//6F7169aJjx46cdNJJjBkzhoKCgoM+l70999xzFBcX88ADD5RLRAU1b96cK664AjhwPa29a/wE+9y6desYN24cxx57LCeeeCJTp04lEAjw999/c8MNN9CtWzd69erFCy+8UO58+6vZ9PXXX9OmTRu+/vrrAz6v559/ngsvvJATTjiBTp06cc4557Bo0aJ9Yi4uLubdd9+lTZs2tGnThvHjx1d4/euuu67clLA9XXDBBZxzzjnl9s2dO5dzzjmHTp06cfzxxzNmzBj+/vvvA8Z8IN27dwfM5OGe1qxZw6hRozj++OPp2LEj55xzDkuWLCnXJpy+v3fNqPHjx4e+V3v/2/Pn73a7eeKJJzj11FPp0KEDffv25dFHH8Xtdpc7v9vt5sEHH+TEE0+ka9euXH/99WzdurXK3589nXjiiQChn13wZ/ndd9/x0EMPceKJJ9KlSxduvPFGcnNzw7qWiIiIRE5sf/wlIiLVNnr0aJo3b86YMWMIBAIA/Otf/2L16tVceumlNG7cmNzcXL744gv+/vtvmjRpEtHrZ2dnA1Q4Ze7dd9/ltddeIxAI0LJlS2644QaGDh160HMOHTqUd999l4ULF3LppZeG9u/atYvPP/+cIUOGEBcXx59//smHH37IoEGDaNKkCdnZ2bzxxhtceumlfPDBBxGrxXP33Xfz7rvvcs4553DZZZexadMmXn31VX799Vdef/117HZ7hY8bPHgwjz32GAsXLuTaa68td2zhwoX06tWL1NRU3G4311xzDW63m0svvZSMjAy2bdvGJ598Qn5+PsnJyVWK9+OPP6Zp06YVJg8jYcyYMbRs2ZKxY8fy6aef8tRTT1GvXj1mz57NiSeeyLhx45g3bx6PPPIIHTt25LjjjovIdV9++WUGDBjA0KFD8Xg8fPDBB4wePZqZM2fSr18/AB599FHuvPNOOnXqxPDhwwFo1qxZhecbPHgwt912Gz/++COdOnUK7d+8eTMrV67k1ltvDe176qmnmDZtGoMHD+a8884jNzeX//znP1xyySW89957pKSkVPn5BJOUez72zz//5KKLLiIzM5N//OMfJCQksHDhQm688UamT58eSv7+9ddfEev7F1xwAT169Ci3b+nSpcybN4+0tDTATMjecMMNfPfddwwfPpyWLVvyxx9/8NJLL7F+/Xr+7//+L/TYO+64g/fff58zzjiDbt268dVXX4U9LXDjxo0A1KtXr9z+SZMmkZKSwsiRI9m8eTMvvfQS9913H1OnTg3reiIiIhIZSkaJiByi2rZty5QpU0Jf5+fns2LFCm699Vauueaa0P7rrruuRq7/3HPPkZSUxEknnVRuf9euXRk8eDBNmjRh+/btvPbaa4wbN46CgoLQCK79OfHEE2nQoAHz588vl4xatGgRHo8nlNBq06YNixcvxmLZPQD4rLPOYvDgwbz11lvceOONYT+/b7/9ljfffJPJkyeXS6SdcMIJXHvttSxatGi/CbasrCy6dOnCggULyiWjfvzxR/766y9GjhwJmCNhNm3axLRp0xg0aFCoXfB4VRQWFrJt27b9jviJhE6dOoWmSl1wwQUMGDCAhx9+mJtvvjmUdDjjjDPo06cPb7/9dsSSUYsXLy5XdP2SSy7hnHPOYdasWaFk1FlnncXEiRNp2rTpQaeInnLKKTgcDhYuXFguGbVw4UIMw2Dw4MGAmTSaPn06N910E9dff32o3cCBAxk2bBivvfZauf37U1hYSG5uLm63mx9++IEZM2bgcDjo379/qM0DDzzAEUccwdtvvx2aSnvxxRdz0UUXMXny5FAyKpJ9v2vXrnTt2jX09YYNG7j//vvp1asXF154IQDz5s3jyy+/5JVXXgmN6AI4+uijueeee/j+++/p1q0bq1at4v333+fiiy/mnnvuAcyf09ixY/n9998rHVNJSQm5ubn4/X7Wrl3LQw89BFDu9QFmcuqFF14I1avz+/288sorFBQUVDmJKyIiIpGnaXoiIoeo4M1iUFxcHHa7neXLlx90Glm4nn76ab788kvGjh27z8iQ2bNnc8UVV3DyySdz0UUX8fbbb9O6dWsef/xxSktLD3heq9XKkCFDWLFiRbkpXfPnzycjIyM0isPhcIRuxn0+Hzt37iQhIYEWLVrw66+/RuQ5Llq0iOTkZHr16kVubm7o3zHHHENCQsJBp5YNHjyYX375JTSyA8xkh8PhCBXYDq4a+Pnnn1NSUhJWvIWFhQAkJiaGdZ4DOe+880LbVquVDh06EAgEyu1PSUmhRYsW+0xBC8eeiai8vDwKCgo49thjq/2zDiZRFy5cGBpVCLBgwQK6dOlCVlYWAP/73//w+/0MHjy4XB/IyMigefP
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VFX+x/HP9EmHJLTQpap0Kx3RRRAb9t4XYUEUQQXXVVTWtrILij8bYlsVsYsKrqIiKoooiA2lIyAlCSF1+v39McxAIAxJSHInyfv1PHmem7ln5n4nc2Zu7nfO+R6LYRiGAAAAAAAAgBpkNTsAAAAAAAAA1D8kpQAAAAAAAFDjSEoBAAAAAACgxpGUAgAAAAAAQI0jKQUAAAAAAIAaR1IKAAAAAAAANY6kFAAAAAAAAGocSSkAAAAAAADUOJJSAAAAAAAAqHEkpQAApVx++eW6/PLLzQ6jRmzevFmdOnXSm2++aXYoKKdJkyZp8ODBVfqYb775pjp16qTNmzdX6ePGs7L6/qOPPqpOnTrVeCydOnXSo48+WuPHBQAA5rObHQAAoPabO3eu3n33Xa1bt075+flq3LixTjjhBI0ZM0YtWrQ4oP1rr72m2bNna/PmzWrWrFm5EmGjRo3SkiVL9OWXXyo5ObnMNhMmTNCHH36oxYsXq2HDhlXy3OqiTZs2adasWfryyy+1Y8cOORwOdezYUcOGDdOFF14ot9ttdojV4oknnlD79u11yimnmB2KpHAybPLkydHfbTabMjIy1LdvX40fP15NmjQxMbr4snnzZp188snR361Wq5o0aaKjjz5aY8eO1ZFHHlnhx7z88su1a9cuvffee1UZKgAAqACSUgCAUp555pkK3+eXX35RixYtNHjwYKWmpmrz5s167bXX9Omnn+qdd94pdXE9Z84c3XXXXTr11FN19dVXa9myZZo6dapKSko0cuTIgx7jzDPP1KeffqqPP/5YZ5999gH7S0pK9Mknn6hfv34kpGL47LPPdOONN8rpdOqss85Sx44d5ff79d133+lf//qX1qxZo3vvvdfsMKvFk08+qVNPPfWApNRZZ52l4cOHy+l0mhLXuHHj1KJFC/l8Pq1YsUJvvfWWvvvuO7333ntyuVw1Fsfo0aNjvgfjwemnn64BAwYoFApp7dq1euWVV/T5559r7ty5lUpMAQAAc5GUAoB6oLi4WImJieVqW5kL8ylTphxw2ymnnKJzzz1X77zzTvRC1+Px6D//+Y8GDRqkRx55RJJ0wQUXKBQK6fHHH9eFF16otLS0Mo8xePBgJSUlad68eWUmpRYuXKji4mKdeeaZFY6/vvjjjz80fvx4ZWVl6fnnn1fjxo2j+y699FJt3LhRn332mXkBmsRms8lms5l2/AEDBqhr166SpPPPP18NGzbU008/rYULF+q0006rsTjsdrvs9vj+1/Coo47SWWedFf29V69eGj16tF555RXdc889JkYGAAAqg5pSAFDHROrCrFmzRhMmTNBxxx2nSy65RJK0c+dOTZ48WQMGDFCXLl3Ur18/jR49ulQtnaqqKdW8eXNJUn5+fvS2b775Rnl5edF4Ii699FIVFxfHTIi43W4NGTJEX3/9tXJycg7Y/9577ykpKUmDBw9WXl6eHnzwQZ1xxhnq2bOnevXqpeuuu06rVq06ZNwHe/5l1TIKhUJ67rnnNHz4cHXt2lV9+vTRnXfeqd27d8c8xjPPPKNOnTppy5YtB+ybNm2aunTpEn2MDRs26IYbblDfvn3VtWtXDRgwQOPHj1dBQcEhn8v+Zs2apeLiYv3zn/8slZCKaN26ta688kpJsett7V8DKNLn1q9fr4kTJ+qYY47RiSeeqOnTp8swDP35558aPXq0evXqpb59+2r27NmlHu9gNZ2++eYbderUSd98803M5/XMM8/ooosu0gknnKBu3brpnHPO0YIFCw6Iubi4WG+99ZY6deqkTp06adKkSWUe//rrry81VWxfF154oc4555xSt73zzjs655xz1K1bNx1//PEaP368/vzzz5gxx3LsscdKCicR97V27VqNGzdOxx9/vLp27apzzjlHCxcuLNXmcPr+/jWlJk2aFP1b7f+z7+vv8/n0yCOP6C9/+Yu6dOmigQMH6qGHHpLP5yv1+D6fT/fdd59OPPFE9ezZU6NGjdK2bdsq/PfZ14knnihJ0dcu8lp+9913uv/++3XiiSeqR48eGjNmjHJzcw/rWAAAoOrF99dhAIBKu/HGG9W6dWuNHz9ehmFIkm644QatWbNGl112mZo3b67c3Fx9+eWX+vPPP8us/VRRu3btUigU0tatW/XYY49Jknr37h3d/8svv0iSunTpUup+Rx99tKxWq3799ddSoyD2d8YZZ+itt97S/Pnzddlll0Vvz8vL0xdffKHhw4fL7XZr9erV+vjjjzV06FC1aNFC2dnZevXVV3XZZZfp/fffr7JaPXfeeafeeustnXPOObr88su1efNmvfTSS/rll1/0yiuvyOFwlHm/YcOG6V//+pfmz5+v6667rtS++fPnq2/fvkpLS5PP59O1114rn8+nyy67TJmZmdq+fbs+++wz5efnKyUlpULxfvrpp2rZsqV69epV6eccy/jx49WuXTtNmDBBixYt0uOPP64GDRpozpw5OvHEEzVx4kTNmzdPDz74oLp27arjjjuuSo77wgsvaPDgwTrjjDPk9/v1/vvv68Ybb9STTz6pQYMGSZIeeugh3XHHHerWrZsuuOACSVKrVq3KfLxhw4bptttu08qVK9WtW7fo7Vu2bNGKFSt06623Rm97/PHHNWPGDA0bNkznnXeecnNz9d///leXXnqp3n77baWmplb4+USSlfved/Xq1br44ovVpEkT/fWvf1ViYqLmz5+vMWPG6NFHH9Vf/vIXSeFEVlX1/QsvvLDU+1eSFi9erHnz5ik9PV1SODE7evRofffdd7rgggvUrl07/f7773r++ee1YcMG/d///V/0vn//+9/17rvv6vTTT1evXr309ddfH/Z0wU2bNkmSGjRoUOr2qVOnKjU1VWPHjtWWLVv0/PPP65577tH06dMP63gAAKBqkZQCgDqqc+fOmjZtWvT3/Px8LV++XLfeequuvfba6O3XX399lR1zwIAB0dERDRo00B133KG+fftG9+/cuTNazHlfTqdTDRo00I4dO2I+/oknnqhGjRrpvffeK5WUWrBggfx+v8444wxJ4VExH374oazWvQOCzzrrLA0bNkyvv/66xowZc9jPddmyZXrttdf08MMPR48rSSeccIKuu+46LViwoNTt+8rKylKPHj30wQcflEpKrVy5Un/88YfGjh0rKTwyZvPmzZoxY4aGDh0abRfZXxGFhYXavn37QUcAVYVu3bpFp1BdeOGFGjx4sB544AHdfPPN0eTD6aefrv79++uNN96osqTUhx9+WKo4+6WXXqpzzjlHzz77bDQpddZZZ2nKlClq2bJlzMSnFJ566nQ6NX/+/FJJqfnz58tisWjYsGGSwsmjRx99VDfddJNGjRoVbTdkyBCNGDFCL7/8cqnbD6awsFC5ubny+Xz64YcfNHPmTDmdTp100knRNv/85z/VrFkzvfHGG9EptpdccokuvvhiPfzww9GkVFX2/Z49e6pnz57R3zdu3Kh7771Xffv21UUXXSRJmjdvnr766iu9+OKL0RFektShQwfddddd+v7779WrVy+tWrVK7777ri655BLdddddksKv04QJE/Tbb7+VO6aSkhLl5uYqFApp3bp1uv/++yWp1PtDCn/+zJ49WxaLRVI4efbiiy+qoKCgwslcAABQfZi+BwB1VOSiMcLtdsvhcGjp0qWHnF5WWU8//bSeeuopTZo0SVlZWSopKSm13+PxHHT0kMvlksfjifn4NptNw4cP1/Lly0tN9XrvvfeUmZkZHdXhdDqjF+XBYFC7du1SYmKi2rZtGx2tdbgWLFiglJQU9e3bV7m5udGfo48+WomJiYeccjZs2DD9/PPP0ZEeUjjp4XQ6o4W4I6sMfvHFFwf8LSuqsLBQkpSUlHRYjxPLeeedF92
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XeYU2Xax/FveqbDzFAcujRFuq5KR1QEsaFr72URBLGAiq6rqFhXFFZ8LWBfFbGLCqwiq6hYcEEsoNKlMzPA1PTz/hESGBhgMslMkpnf57q4OJPzJLmTOcmZ3Lmf+zEZhmEgIiIiIiIiIiJSi8zxDkBEREREREREROofJaVERERERERERKTWKSklIiIiIiIiIiK1TkkpERERERERERGpdUpKiYiIiIiIiIhIrVNSSkREREREREREap2SUiIiIiIiIiIiUuuUlBIRERERERERkVqnpJSIiIiIiIiIiNQ6JaVERKSCSy+9lEsvvTTeYdSKDRs20LFjR9555514hyJVNGHCBAYNGhTT23znnXfo2LEjGzZsiOntJrLKjv0nnniCjh071nosHTt25Iknnqj1+xUREZH4s8Y7ABERSX6zZs3igw8+YPXq1RQVFdG4cWOOO+44Ro8eTfPmzSuMPdCH3nHjxjFixIgD3sfIkSNZtGgRX331Fenp6Qe8jXnz5rFw4UIaNmxY/QdUx61fv54ZM2bw1VdfsW3bNmw2Gx06dGDo0KGcf/75OJ3OeIdYI55++mnatWvHSSedFO9QgGAy7Pbbbw//bLFYyMnJoU+fPtx00000adIkjtEllg0bNnDiiSeGfzabzTRp0oSjjjqKMWPGcOSRR0Z8m5deeik7duzgww8/jGWoIiIiEgElpUREpILnnnsu4uv8+uuvNG/enEGDBpGZmcmGDRt48803WbBgAe+///5+H6779OnDmWeeWeGyTp06HfQ+zjjjDBYsWMCnn37KWWedtd/+8vJyPvvsM/r27auE1EH897//5YYbbsBut3PmmWfSoUMHvF4vP/zwA//85z9ZuXIl9913X7zDrBHPPPMMp5xyyn5JqTPPPJNhw4Zht9vjEtfYsWNp3rw5Ho+HpUuX8u677/LDDz/w4Ycf4nA4ai2OUaNGHTQxnAhOO+00+vfvTyAQYNWqVbz++ut88cUXzJo1q1qJKREREYkvJaVEROqBsrIyUlNTqzS2Oh/MJ06cuN9lJ510Eueccw7vv//+fh90W7duvV9S6lAGDRpEWloas2fPrjQpNX/+fMrKyjjjjDMiut365M8//+Smm24iLy+Pl156icaNG4f3XXzxxaxbt47//ve/8QswTiwWCxaLJW73379/f7p06QLAueeeS8OGDZk+fTrz58/n1FNPrbU4rFYrVmti/2nYqVOnCu8dPXv2ZNSoUbz++uvce++9cYxMREREqkM9pURE6phQX5iVK1cybtw4/vKXv3DRRRcBsH37dm6//Xb69+9P586d6du3L6NGjarQSydWPaWaNWsGQFFRUaX7XS4Xbre7yrfndDoZPHgw33zzDQUFBfvt//DDD0lLS2PQoEHs3LmThx9+mNNPP50ePXrQs2dPrrnmGlasWHHI+znQ46+sl1EgEODFF19k2LBhdOnShd69e3PXXXexa9eug97Hc889R8eOHdm4ceN++yZPnkznzp3Dt7F27Vquv/56+vTpQ5cuXejfvz833XQTxcXFh3ws+5oxYwZlZWXcf//9FRJSIa1ateLyyy8HDt5va98eQKFjbs2aNYwfP56jjz6a448/nilTpmAYBps3b2bUqFH07NmTPn368Pzzz1e4vQP1dPr222/p2LEj33777UEf13PPPccFF1zAcccdR9euXTn77LOZO3fufjGXlZXx7rvv0rFjRzp27MiECRMqvf9rr722wlSxvZ1//vmcffbZFS57//33Ofvss+natSvHHnssN910E5s3bz5ozAdzzDHHAMEk4t5WrVrF2LFjOfbYY+nSpQtnn3028+fPrzAmmmN/355SEyZMCD9X+/7b+/fv8Xj417/+xcknn0znzp0ZMGAAjzzyCB6Pp8LtezweHnjgAY4//nh69OjByJEj2bJlS8TPz96OP/54gPDvLvS7/OGHH3jwwQc5/vjj6d69O6NHj6awsDCq+xIREZHYS+yvw0REpNpuuOEGWrVqxU033YRhGABcf/31rFy5kksuuYRmzZpRWFjIV199xebNm/fr/VQdO3bsIBAIsGnTJp588kkAevXqtd+4d999l9deew3DMGjbti2jRo3i9NNPP+Ttn3766bz77rvMmTOHSy65JHz5zp07+fLLLxk2bBhOp5M//viDTz/9lCFDhtC8eXPy8/N54403uOSSS/joo49i1qvnrrvu4t133+Xss8/m0ksvZcOGDbz66qv8+uuvvP7669hstkqvN3ToUP75z38yZ84crrnmmgr75syZQ58+fcjKysLj8XD11Vfj8Xi45JJLyM3NZevWrfz3v/+lqKiIjIyMiOJdsGABLVq0oGfPntV+zAdz00030bZtW8aNG8fnn3/OU089RYMGDZg5cybHH38848ePZ/bs2Tz88MN06dKFv/zlLzG535dffplBgwZx+umn4/V6+eijj7jhhht45plnGDhwIACPPPIId955J127duW8884DoGXLlpXe3tChQ7nttttYtmwZXbt2DV++ceNGli5dyq233hq+7KmnnmLq1KkMHTqUv/71rxQWFvLvf/+biy++mPfee4/MzMyIH08oWbn3df/44w8uvPBCmjRpwt/+9jdSU1OZM2cOo0eP5oknnuDkk08GgomsWB37559//n6v34ULFzJ79myys7OBYGJ21KhR/PDDD5x33nm0bduW33//nZdeeom1a9fyf//3f+Hr/v3vf+eDDz7gtNNOo2fPnnzzzTdRTxdcv349AA0aNKhw+aRJk8jMzGTMmDFs3LiRl156iXvvvZcpU6ZEdX8iIiISW0pKiYjUUUcccQSTJ08O/1xUVMSSJUu49dZbufrqq8OXX3vttTG7z/79+4erIxo0aMCdd95Jnz59Kozp0aMHQ4cOpXnz5mzbto3XXnuN8ePHU1xcHK7oOpDjjz+eRo0a8eGHH1ZISs2dOxev1xtObHXs2JF58+ZhNu8pCD7zzDMZOnQob731FqNHj476sS5evJg333yTRx99tEJC7bjjjuOaa65h7ty5B0y05eXl0b17dz7++OMKSally5bx559/MmbMGCBYGbNhwwamTp3KkCFDwuNC+yNRUlLC1q1bD1gBFAtdu3YNT6E6//zzGTRoEA899BA333xzOPlw2mmn0a9fP95+++2YJaXmzZtXoTn7xRdfzNlnn80LL7wQTkqdeeaZTJw4kRYtWhxy6uhJJ52E3W5nzpw5FZJSc+bMwWQyMXToUCCYPHriiSe48cYbGTlyZHjc4MGDGT58OK+99lqFyw+kpKSEwsJCPB4PP/74I9OmTcNut3PCCSeEx9x///0cdthhvP322+EpthdddBEXXnghjz76aDgpFctjv0ePHvTo0SP887p167jvvvvo06cPF1xwAQCzZ8/m66+/5pVXXglXeAG0b9+eu+++m//973/07NmTFStW8MEHH3DRRRdx9913A8Hf07hx4/jtt9+qHFN5eTmFhYUEAgFWr17Ngw8+CFDh9QHB95/nn38ek8kEBJNnr7zyCsXFxREnc0VERKTmaPqeiEgdFfrQGOJ0OrHZbHz33XeHnF5WXdOnT+fZZ59lwoQJ5OXlUV5evt+YmTNncvnll3PiiSdy4YUX8vbbb9OhQwcef/xxXC7XQW/fYrEwbNgwlixZUmGq14cffkhubm64qsNut4c/lPv9fnbs2EFqaipt2rTh119/jcljnTt3LhkZGfTp04fCwsLwv6OOOorU1NRDTjkbOnQov/zyS7jSA4JJD7vdHm7EHVpl8Msvv6z0uYxESUkJAGlpaVHdzsH89a9/DW9bLBY6d+6MYRgVLs/MzKRNmzb7TU2Lxt4JqV27dlFcXMzRRx9d7d91eno6/fv3Z86cOeEqQ4CPP/6Y7t27k5eXB8A
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XeYU2Xax/HfSZ0OzAy9iSCC0kFcEKRYEBAVXTsgCqKuiA0R0VVWfG0LVlxRURR0RVQsqIAK6uKKoi7FggVFkD7DwPT08/4REhgYYEommZl8P9fFxZnkmZw7mZOc5M793I9hmqYpAAAAAAAAIIossQ4AAAAAAAAA8YekFAAAAAAAAKKOpBQAAAAAAACijqQUAAAAAAAAoo6kFAAAAAAAAKKOpBQAAAAAAACijqQUAAAAAAAAoo6kFAAAAAAAAKKOpBQAAAAAAACijqQUAKCEkSNHauTIkbEOIyq++uorHX/88frqq69iHQrKqCqOzyeffFLHH398RG+zuivt2J88ebIGDhwY1Ti2bNmi448/XgsXLozqfgEAQPVAUgoAEFFer1dDhgzR8ccfr+eff/6Q6wOBgJ577jkNHDhQHTt21LBhw/Tee+8d9XaHDRum/v37yzTNw4655JJL1Lt3b/l8vkrdh9pu/fr1mjhxovr166cOHTqoZ8+eGj16tN588035/f5Yh1cliouL9eSTT1arBGQoGRb6d+KJJ2rgwIG67777lJeXF+vwqpVQEu3Ax+q0007TpEmT9Oeff1boNgcOHKhrrrkmwpECAIDysMU6AABA9VJaIqk8Xn75ZW3fvv2w1z/66KN69tlnddFFF6ljx45atmyZbr31VhmGoaFDhx7294YNG6YZM2bom2++0UknnXTI9Vu2bNGaNWs0YsQI2Wyc3g7n9ddf1z333KOMjAyde+65atmypQoLC/Xll1/qzjvvVFZWlq699tpYhxlxxcXFmjlzpsaPH6+TTz65xHXXXXedxo0bF6PIpKlTpyopKUnFxcVauXKl5s2bpx9++EGvvvpqVOOYNm3aEZO+1cHIkSPVsWNH+Xw+/fjjj3rttdf02Wef6d1331XDhg1jHR4AACgn3rUDQBwoKipSUlJSmcY6HI4K72f37t166qmnNHbsWD3xxBOHXL9z507NmTNHl19+ue6++25J0oUXXqgRI0bo4Ycf1llnnSWr1VrqbQ8bNkyPPPKIFi1aVGpS6v3335dpmho2bFiF46/t1qxZo3vuuUddunTRs88+q5SUlPB1o0eP1nfffadff/01hhHGhs1mi2kic9CgQUpPT5cUrPa7+eab9cEHH2jdunXq1KlT1OKw2+1R21dF9ejRQ2eddZYk6YILLtAxxxyj++67T2+//TZVTwAA1EBM3wOAWiY0JWjDhg269dZbddJJJ+myyy6TJGVlZemOO+7Qqaeeqg4dOqhPnz667rrrtGXLlvDvV6Znz/Tp09WqVSudc845pV7/8ccfy+v1huORJMMwdOmll2rHjh1avXr1YW+7cePGOumkk7R06VJ5vd5Drn/vvffUokULde7cWVu3btXUqVM1aNAgderUSSeffLImTJhQ4n4ezsCBAzV58uRDLi/tcfF4PHriiSd0xhlnqEOHDurXr58efvhheTyeI+7j3nvvVdeuXVVcXHzIdbfccotOOeWU8DS67777TmPGjNHJJ5+sTp06aeDAgbrjjjuOej9KM3PmTBmGoenTp5dISIV07NhR559/vqTD99sqrQfQ5MmT1bVrV23btk3XXHONunbtqr59++qVV16RJP38888aNWqUunTpogEDBmjRokUlbvNwPZ0WLlyo448//oh/N4/Ho8cff1znn3++unfvri5duuiyyy7Tl19+WSLmXr16hR+D0BSwJ598stT9n3322aU+BwKBgPr27asJEyaUuOzFF1/U0KFD1bFjR/Xu3Vt33323cnNzDxvz0fTo0UOStHnz5hKXr127VmPGjFH37t3VuXNnjRgxQt9++22JMZU59g/uKTVy5MgSU+YO/Hfg3z8vL0//93//F54OesYZZ+jZZ59VIBAocft5eXmaPHmyunfvrh49euj2229Xfn5+uR+fA/3lL3+RpPD9C/0tN23apMmTJ6tHjx7q3r277rjjjlKfbwAAILaolAKAWurGG29Uy5YtdfPNN4en5Nxwww3asGGDRowYoaZNmyonJ0f//e9/tX37djVr1qxS+1u3bp3efvtt/fvf/5ZhGKWOWb9+vZKSktS6desSl4eqQdavXx/+QF6aYcOG6e9//7s+//xzDRgwIHz5zz//rF9++UXXX3+9pGAiZ/Xq1Ro6dKgaNWqkrVu36tVXX9WoUaP0/vvvKzExsVL3VQomI6677jp9++23uuiii9S6dWv98ssveumll/THH3/oX//612F/d8iQIXrllVf06aefavDgweHLi4uL9cknn2j48OGyWq3avXu3xowZo3r16mncuHFKS0vTli1b9NFHH5U73uLiYn355Zfq0aOHmjRpUqH7fCR+v19XX321evTooYkTJ2rRokW69957lZiYqEcffVTDhg3TmWeeqfnz5+v2229Xly5d1Lx580rvt6CgQK+//rrOPvtsXXjhhSosLNQbb7yhsWPH6vXXX1f79u2Vnp6uqVOnaurUqTrjjDN0xhlnSNJhm5sPHjxYM2fOVFZWlurXrx++/Ntvv9WuXbs0ZMiQ8GV333233nrrLZ1//vkaOXKktmzZoldeeUU//vijXn311QpVH4USLGlpaeHLVq5cqauvvlodOnTQ+PHjZRiGFi5cqCuuuEL//ve/w8+hSB771157rf7617+WuOzdd9/V559/royMDEnB42rEiBHauXOnLrnkEjVu3FirV6/WI488oqysLN15552SJNM09be//U3ffvutLrnkErVu3VofffSRbr/99nI/PgcKJe7q1q1b4vKbbrpJzZo10y233KIff/xRr7/+utLT03XbbbdVan8AACCySEoBQC3Vrl07zZgxI/xzXl6eVq9erUmTJmnMmDHhyyMx5cU0TU2bNk1DhgxR165dD1uVkZWVpYyMjEOSVqEP/rt27TrifgYNGqRp06bpvffeK5GUCjVKD03d69+/f3iKT8iAAQN08cUXa+nSpTrvvPPKdf9Ks2jRIn3xxReaN29eiUTacccdp3vuuUf/+9//1K1bt1J/t3v37mrYsKEWL15cIin16aefqqioKJz0WL16tXJzc/X888+rY8eO4XE333xzuePdtGmTvF6v2rZtW+7fLQu3261zzjknfDwNGzZMffv21ZQpU/TII4+E71Pv3r01ePBgvf3227rhhhsqvd86depo+fLlJaadXnTRRRo8eLDmzZun+++/X0lJSRo0aJCmTp2q448/Xueee+4Rb3PIkCF64okntHTpUo0YMSJ8+QcffKCkpCT1799fkvTNN9/o9ddf1/Tp00tMGz355JM1duxYLVmypEzTSUNVVaHE4b///W+lp6eHp6mapqmpU6fq5JNP1uzZs8PPn0suuURDhw7VY489phdeeEFSZI/9U045pcTP//vf//TVV1/pggsuUL9+/SRJc+bM0Z9//qm33npLxxxzTDiuBg0a6Pnnn9dVV12lxo0ba9myZfr666912223aezYsZKkSy+9VKNGjSpzPJJUWFionJwc+Xw+rV+/Xv/3f/8nwzB05plnlhjXvn173X///eGf9+7dqzfeeIOkFAAA1QzT9wCglrrkkktK/JyQkCC73a5Vq1ZVampRaRYuXKhffvlFEydOPOI4l8tVas8qp9MZvv5I6tSpo379+mn58uUqKiqSFPzA/v7776tDhw5q1aqVpOB9DfF6vdqzZ49atGihtLQ0/fjjj+W6b4ezZMkStW7dWscee6xycnLC/0LTiY60ypthGDrrrLP02WefqbCwMHz54sWL1bBhQ3Xv3l2SlJqaKimYrCptymJ5FBQUSJKSk5MrdTtHcuGFF4a309LS1KpVKyUmJpZIvB177LFKS0ur8IppB7NareFjKhAIaO/evfL5fOrQoUOF/9atWrVS+/bt9cEHH4Qv8/v
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA/7pJREFUeJzs3Xd4VGXax/HvmZ5JAUIgoVcpSlFEVARRRFGxd+y9rNgbuHZZ24oVX3VlLchawF5QLFhY14LYBRSRjoSSkEzK9PP+McxAYAIJKWeS+X2uKxcnM8+cc8/khJy5537uxzBN00RERERERERERKQR2awOQERERERERERE0o+SUiIiIiIiIiIi0uiUlBIRERERERERkUanpJSIiIiIiIiIiDQ6JaVERERERERERKTRKSklIiIiIiIiIiKNTkkpERERERERERFpdEpKiYiIiIiIiIhIo1NSSkREREREREREGp2SUiIiIiKbnHHGGZxxxhlWhyE19PXXX9O7d2++/vrret1v7969efTRR+t1n6lu63N/5cqV9O7dm9dee61R4xg/fjwjR45s1GOKiIh1lJQSERERSy1evJjzzjuPPfbYgyFDhnDddddRVFS03cd88MEH9O7dmxkzZlQ75osvvqB3795MnTq1vkNuVgKBAM8++ywnnngie+65J/3792f06NHccccdLFmyxOrwGsxnn32Wcomn3r17V/kaNGgQp59+Op9++qnVoaWcM844o8prNWTIEI4//nheeeUVotForff32muv0bt3b37++ecGiFZERKrjsDoAERERSV9r1qzhtNNOIzs7m6uuuoqKigqefvppfv/9d2bMmIHL5Ur6uAMOOIDs7GzefvttTjzxxKRj3nnnHex2O2PGjGnIp9CkFRUVcf755/Prr79y4IEHcsQRR+D1elmyZAkzZ85k+vTp/PLLL1aH2SA+++wz/vOf/3DZZZdtc99PP/2E3W63ICrYb7/9OProozFNk9WrV/Piiy9y8cUX89RTTzF8+PBGi6NDhw789NNPOByp+3ahoKCAq6++GoDi4mLeeOMN/v73v7N06VKuvfZai6MTEZGaSN2/MiIiIrKNiooKvF6v1WHUmyeeeILKykpee+012rdvD8CAAQM455xzeP311zn55JOTPs7lcjF69Ghee+01CgsLyc/Pr3J/IBDgww8/ZOjQobRu3brBn0dTNWHCBBYsWMAjjzzC6NGjq9x35ZVX8uCDD1oUmbXcbrdlx+7atStHH3104vvRo0dz+OGHM3Xq1EZNShmGYenrUBPZ2dlVXquTTz6ZQw89lP/85z9cccUVOJ1OC6MTEZGa0PQ9ERGRFPXoo4/Su3dv/vjjD6655hr22msvTj31VAAWLlzI+PHjOeigg+jfvz/77bcfEyZMoLi4OOk+li1bxvjx4xk8eDB77rknEyZMoLKysspYv9/PxIkT2Xvvvdljjz24+OKLKSwsTNpfp7CwkAkTJjB06FD69evHmDFjeOWVV2r9HD/44AMOOOCAREIKYOjQoXTt2pX33ntvu4896qijiEajzJw5c5v7Pv30U3w+H0ceeSQAr776KmeeeSb77rsv/fr14/DDD+eFF17YYXzxKT0rV66scnt1vYx+/PFHzjvvPPbcc08GDhzI6aefzrx587Z7jPXr17PrrrsyefLkbe77888/6d27N9OmTQMgFAoxefJkDjnkEPr378/ee+/N2LFj+eKLL3b4XLb2448/8umnn3LCCSdsk5CCWOLvhhtuSHxfXb+trXsAxXsR/fvf/+Y///kPBx10EAMHDuTcc8/lr7/+wjRNHnvsMfbff38GDBjAJZdcwsaNG6vss7qeTiNHjmT8+PHbfV7ffvstl19+OQcccAD9+vVjxIgR3HXXXfj9/iox/+c//0kcK/6V7Pjvv/8+vXv35ptvvtnmWC+99BK9e/fm999/T9y2ePFiLr/8coYMGUL//v057rjj+Pjjj7cb8/b06NGDVq1asXz58iq3B4NBHnnkEQ4++ODE87zvvvsIBoNVxu3sub91T6n4OZ/sa+seUJ999hmnnnoqu+++O3vssQcXXnghixYt2uYYH330EUcccQT9+/fniCOO4MMPP6zty1NFRkYGAwcOpKKiIjEFuHfv3txxxx2JY8X/v/r888/rdCwREakfqpQSERFJcVdccQVdunThqquuwjRNAP73v/+xYsUKjjvuONq0acOiRYuYPn06f/zxB9OnT8cwjCr7uPLKK+nYsSNXX3018+fPZ8aMGeTm5nLdddclxowfP5733nuPo48+moEDBzJ37lwuvPDCbeJZv349J510EoZhcNppp5Gbm8vnn3/O3//+d8rKyjj77LNr9LwKCwvZsGED/fr12+a+AQMG7PBN41577UVBQQFvv/0255xzTpX73nnnHTIyMhg1ahQAL774IrvssgsjR47E4XDwySefcPvtt2OaJqeddlqN4t2RL7/8kgsuuIB+/foxbtw4DMPgtdde46yzzuKFF15gwIABSR+Xl5fHXnvtxXvvvce4ceOq3Ddz5kzsdjuHHnooAJMnT+bJJ5/kxBNPZMCAAZSVlfHLL7/w66+/st9++9Uq3tmzZwNUqTSpT2+//TahUIgzzjiDjRs3MmXKFK688kr22Wcfvv76ay644AKWLVvGtGnTuPfee7n77rvr5bjvv/8+fr+fsWPH0rJlS3766SemTZvGmjVreOSRR4BYRc3atWv54osvuO+++7a7vwMOOACv18t7773HkCFDqtw3c+ZMdtllF3r16gXAokWLGDt2LPn5+VxwwQWJx1166aU8+uijHHzwwbV+Pj6fj9LSUjp37py4LRqNcskllzBv3jxOOukkevTowe+//85zzz3H0qVL+b//+7/E2Po693v06LHNa+Xz+bjnnnvIzc1N3PbGG28wfvx4hg0bxrXXXktlZSUvvvgip556Kq+//jodO3YE4L///S+XXXYZPXv25JprrqG4uJgJEyZQUFBQ69doSytXrsRut5OTk5O4bd68eXzwwQeceuqpZGZm8vzzz3P55ZfzySef0KpVqzodT0RE6kZJKRERkRTXp08fJk2aVOW2U089lXPPPbfKbbvvvjtXX3018+bNY/DgwVXu69u3L3fddVfi+40bN/LKK68kklK//vor7733HmeddRY33ngjAKeddhoTJkxg4cKFVfb14IMPEolEePvttxNv6MaOHcvVV1/N5MmTOeWUU/B4PDt8XmvXrgWgTZs229zXpk0bNm7cSDAYrLavlM1mY8yYMfz73/9myZIldOvWDYCysjI+++wzDj74YDIzMwGYNm1alZhOP/10zjvvPJ555pl6SUqZpsltt93G3nvvzZQpUxJJwVNOOYUxY8bw0EMP8fTTT1f7+MMPP5xbbrmF33//PZHgAHjvvffYa6+9yMvLA2IVYCNGjODOO++sc8yLFy8GqHK8+lRYWMgHH3xAdnY2EEukPPnkk/j9fl599dVEr6Li4mLefvttbr/99mp/1rVx7bXXVvlZn3zyyXTp0oUHHniA1atX0759e/bYYw+6du3KF198scOknMfjYeTIkcyaNYubbrop0Wtq3bp1zJ07t0oi8R//+Aft2rXj1VdfTTyXU089lbFjx3L//ffXKCkVCAQSVT6rV6/moYceIhKJVKlme/vtt/nf//7H888/X+V3fZddduHWW2/lu+++Y9CgQUD9nft5eXlVXivTNLnkkktwOp3cc889AJSXl/OPf/yDE088sco5euyxx3LooYfy5JNPJm6///77ad26NS+88ELiHBkyZAjnnnsuHTp0qFFMkUgk8VoVFxfz4osvJvqjZWRkJMYtXryYmTNnJhJ7e++9N0cffTTvvvsup59+eo1fAxERqX+aviciIpLiTjnllG1u2/JNZvxN7MCBA4FYgmlH+xg8eDAbN26krKwMgDlz5gAkpgfGbf2GzTRNPvjgA0aOHIlpmhQVFSW+hg0bhs/nS3r8ZAKBAEDSRES8l82WU66SOeqoo4BYZVTcrFmzCAQCial7UPX18vl8FBUVMWTIEFasWIHP56tRvNuzYME
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HvmZ4OKfQqCKh0sSGKYhd7F7tY1hUrFvB17WtbUVRcdWXX3sC2oiC6FsSuiGJDAeklkIT0TD/vHyczEGogZWZyfp/rysVhzsw598yTSXLuuZ/7MUzTNBEREREREREREWlGjkQHICIiIiIiIiIi9qOklIiIiIiIiIiINDslpUREREREREREpNkpKSUiIiIiIiIiIs1OSSkREREREREREWl2SkqJiIiIiIiIiEizU1JKRERERERERESanZJSIiIiIiIiIiLS7JSUEhERERERERGRZqeklIiISAt0zjnncM455yQ6DKmnr7/+mt69e/P111836nF79+7No48+2qjHTHabfu+vWLGC3r1788YbbzRrHOPGjWPEiBHNek4REZFUo6SUiIhII4lGo7z00kscf/zx9O/fn3322Ydzzz2X+fPnb/Ux77//Pr1792bq1Klbvc/nn39O7969ee6555oi7BYjEAjwzDPPcOqpp7LnnnvSr18/jjjiCO644w4WL16c6PCazKxZs5Iu8dS7d+86X4MHD+bss8/mk08+SXRoSeecc86p81rtvffenHzyybz22mtEo9EdPt4bb7xB7969+emnn5ogWhERkcblSnQAIiIiLcVNN93EtGnTOP744zn77LOprq7mt99+o7i4eKuPOeigg8jKymLatGmceuqpW7zPO++8g9PpZOTIkU0VesorKSnhoosu4pdffuHggw/mmGOOIT09ncWLFzN9+nSmTJnCzz//nOgwm8SsWbN48cUXueKKKzbbN2/ePJxOZwKigv3335/jjz8e0zRZtWoVL7/8Mn/5y1946qmnOOCAA5otjo4dOzJv3jxcruT9s7ddu3Zce+21AKxfv5633nqL//u//2PJkiVcd911CY5ORESk6STvb2cREWnRqqurSU9PT3QYjWb69Om8+eabTJo0icMOO6zej/N4PBxxxBG88cYbFBYW0rZt2zr7A4EAH3zwAUOHDiUvL6+xw24xxo8fz2+//cYjjzzCEUccUWff1VdfzUMPPZSgyBLL6/Um7NzdunXj+OOPj///iCOO4Oijj+a5555r1qSUYRgJfR3qIysrq85rdfrpp3PkkUfy4osvctVVV+F2uxMYnYiISNPR9D0REWlyjz76KL1792bhwoWMHTuWvfbai1GjRgEwf/58xo0bxyGHHEK/fv3Yf//9GT9+POvXr9/iMZYuXcq4ceMYMmQIe+65J+PHj6empqbOff1+P3fddRf77LMPgwYN4i9/+QuFhYVb7K9TWFjI+PHjGTp0KH379mXkyJG89tprO/wcn3nmGfr3789hhx1GNBqlurq63o897rjjiEajTJ8+fbN9n3zyCRUVFRx77LEAvP7665x77rnst99+9O3bl6OPPpqXXnppu+eITelZsWJFndu31svoxx9/ZPTo0ey5554MGDCAs88+mzlz5mzzHEVFRey+++5MmjRps31//vknvXv35oUXXgAgFAoxadIkDj/8cPr168c+++zDmWeeyeeff77d57KpH3/8kU8++YRTTjlls4QUWIm/G2+8Mf7/rfXb2rQHUKwX0b///W9efPFFDjnkEAYMGMCFF17I6tWrMU2Txx57jAMPPJD+/ftz2WWXUVpaWueYW+vpNGLECMaNG7fN5/Xdd99x5ZVXctBBB9G3b1+GDx/O3Xffjd/vrxPziy++GD9X7GtL53/vvffo3bs333zzzWbneuWVV+jduzd//PFH/LZFixZx5ZVXsvfee9OvXz9OOukkPvzww23GvC09evSgdevWLFu2rM7twWCQRx55hMMOOyz+PO+//36CwWCd++3s9/6mPaVi3/Nb+tq0B9SsWbMYNWoUAwcOZNCgQVxyySUsWLBgs3P873//45hjjqFfv34cc8wxfPDBBzv68tSRlpbGgAEDqK6upqSkBLDG8o477oifK/bz6tNPP23QuURERBJJlVIiItJsrrrqKrp27co111yDaZoAfPHFFyxfvpyTTjqJgoICFixYwJQpU1i4cCFTpkzBMIw6x7j66qvp1KkT1157Lb/++itTp04lNzeX66+/Pn6fcePGMWPGDI4//ngGDBjAt99+yyWXXLJZPEVFRZx22mkYhsFZZ51Fbm4un376Kf/3f/9HZWUl559/fr2eV2VlJfPmzWPUqFE8+OCDPP/881RXV9OpUyfGjh3L0Ucfvc3H77XXXrRr145p06ZxwQUX1Nn3zjvvkJaWxqGHHgrAyy+/zK677sqIESNwuVx8/PHH3H777ZimyVlnnVWveLfnyy+/5OKLL6Zv376MGTMGwzB44403OO+883jppZfo37//Fh+Xn5/PXnvtxYwZMxgzZkydfdOnT8fpdHLkkUcCMGnSJJ588klOPfVU+vfvT2VlJT///DO//PIL+++//w7F+9FHHwHUqTRpTNOmTSMUCnHOOedQWlrK5MmTufrqq9l33335+uuvufjii1m6dCkvvPAC9913H/fcc0+jnPe9997D7/dz5pln0qpVK+bNm8cLL7zAmjVreOSRRwCrombt2rV8/vnn3H///ds83kEHHUR6ejozZsxg7733rrNv+vTp7LrrrvTq1QuABQsWcOaZZ9K2bVsuvvji+OMuv/xyHn300R2qBoypqKigvLycLl26xG+LRqNcdtllzJkzh9NOO40ePXrwxx9/8Oyzz7JkyRL++c9/xu/bWN/7PXr02Oy1qqio4N577yU3Nzd+21tvvcW4ceMYNmwY1113HTU1Nbz88suMGjWKN998k06dOgHw2WefccUVV9CzZ0/Gjh3L+vXrGT9+PO3atdvh12hjK1aswOl0kp2dHb9tzpw5vP/++4waNYqMjAyef/55rrzySj7++GNat27doPOJiIgkgpJSIiLSbPr06cOECRPq3DZq1CguvPDCOrcNHDiQa6+9ljlz5jBkyJA6+3bbbTfuvvvu+P9LS0t57bXX4kmpX375hRkzZnDeeedx0003AXDWWWcxfvz4zRqOP/TQQ0QiEaZNmxa/oDvzzDO59tprmTRpEmeccQY+n2+7z2vZsmWYpsm7776Ly+Xi+uuvJysri+eee45rr72WzMxMDjzwwK0+3uFwMHLkSP7973+zePFiunfvDljJrlmzZnHYYYeRkZEBwAsvvFAnprPPPpvRo0fz9NNPN0pSyjRNbrvtNvbZZx8mT54cTwqeccYZjBw5kokTJ/Kf//xnq48/+uijueWWW/jjjz/iCQ6AGTNmsNdee5Gfnw9YFWDDhw/nzjvvbHDMixYtAqhzvsZUWFjI+++/T1ZWFmAlUp588kn8fj+vv/56vFfR+vXrmTZtGrfffjsej6fB573uuuvqjPXpp59O165defDBB1m1ahUdOnRg0KBBdOvWjc8//3y7STmfz8eIESOYOXMmN998c7zX1Lp16/j222/rJBL//ve/0759e15//fX4cxk1ahRnnnkmDzzwQL2SUoFAIF7ls2rVKiZOnEgkEqlTzTZt2jS++OILnn/++Trv9V133ZVbb72V77//nsGDBwON972fn59f57UyTZPLLrsMt9vNvffeC0BVVRV///vfOfXUU+t8j5544okceeSRPPnkk/HbH3jgAfLy8njppZfi3yN77703F154IR07dqxXTJFIJP5arV+/npdffjneHy0tLS1+v0WLFjF9+vR4Ym+fffbh+OOP59133+Xss8+u92sgIiKSLDR9T0REms0ZZ5yx2W0bX2TGLmIHDBgAWAmm7R1jyJAhlJaWUllZCcDs2bMB4tMDYza9YDNNk/fff58RI0ZgmiYlJSXxr2HDhlFRUbHF829JbKpeaWkp//znPxk1ahTHHnsszzzzDK1ateLxxx/f7jGOO+44wKqMipk5cyaBQCA+dQ/qvl4VFRW
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAK1CAYAAADyjObpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/Hf9EkFktC7IkWpig1BFF1FEAVdy9rboq4odtF1EcXXtqCouIKirh3BuiqKXVGxg4iiglKkmgLp08/7x8kMBBJSSHImM9/PdXF5MufkmXvGc5Kce+7nfmyGYRgCAAAAAAAAmpjd6gAAAAAAAACQnEhMAQAAAAAAwBIkpgAAAAAAAGAJElMAAAAAAACwBIkpAAAAAAAAWILEFAAAAAAAACxBYgoAAAAAAACWIDEFAAAAAAAAS5CYAgAAAAAAgCVITAEAEAd69eqlBx980OowUEsPPvigevXq1aBjfvnll+rVq5e+/PLLBh033u187r/88svq1auX1q9f36RxjBgxQpMmTWrS5wQAAJLT6gAAAGgoy5Yt08svv6xly5bpl19+USgU0i+//LLLcT6fT7fddpuWLVumTZs2KRKJqHPnzjr55JN1xhlnyOVyVfsct99+u55++mm988476tq1a5XH3HfffZo1a5Zee+019e7du8FeX6LJy8vTY489pg8//FCbNm2SzWbTXnvtpaOPPlpnnXWWMjMzrQ6xUTz77LNKSUnRSSedZHUoksyE2DnnnBP72m63q2XLljrwwAM1ceJE7b333hZGF392TEjabDbl5OSoZ8+euvjii3XwwQfXebxJkyZp4cKFWrJkSUOGCQBAs0FiCgCQMD7++GO9+OKL6tmzpzp16qQ1a9ZUeZzP59OqVat0+OGHq2PHjrLb7VqyZInuvPNOLVu2TNOnT6/2OcaMGaOnn35ar7/+uiZMmFDlMW+88YZ69uxJUmo3li1bpvHjx6usrEwnnHCC9ttvP0nS8uXL9eijj+qbb77R448/bnGUjeP5559Xq1atdklMHXjggVq2bNluE6ON6eyzz1a/fv1iCd25c+fqyy+/1BtvvKHWrVs3WRwnnniiRo8eLbfb3WTPWVeHHXaYTjzxRBmGofXr1+v555/Xueeeq9mzZ2v48OFWhwcAQLNCYgoAklhZWZlSU1OtDqPB/O1vf9Pf//53eb1e3XbbbdUmplq2bKl58+bt8r0ZGRl65plnNGnSpGpvxAcMGKCuXbvqzTffrDIxtWTJEq1fv17XXHPNHr+eRFVUVKQJEybI4XDolVde2aUi56qrrtrl/08ysNvt8ng8lj3/4MGDNXLkyNjX3bt315QpU/Tqq6/q73//e5PF4XA45HA4muz56qNbt2468cQTY1//5S9/0QknnKCnnnqKxBQAAHVEjykASBLRnjirVq3SNddcowMPPFBnnHGGJOnnn3/WpEmTdNRRR6lfv3467LDDdOONN2rr1q1VjrF27VpNmjRJgwcP1gEHHKAbb7xR5eXllY71+Xy6/fbbdfDBB2vQoEG65JJLtGXLlip7KW3ZskU33nijhgwZor59+2r06NF68cUX6/wac3Jy5PV66/x9UR07dpRkJk52Z8yYMfr999/1448/7rLvjTfekM1m0/HHH69AIKD7779fJ510kg444AANHDhQZ5xxhr744osaY5k0aZJGjBixy+PV9TZ67bXXdNJJJ6l///466KCDdNVVV2nTpk27fY63335bvXr10ldffbXLvrlz56pXr1769ddfJUm5ubm68cYbdfjhh6tv374aOnSoLr300nr1AZo7d662bNmiSZMmVTlNLCcnR//4xz9iX1fXf2vnnkDR3kTffPONbr/9dh1yyCEaPHiwJk+erEAgoKKiIl1//fU68MADdeCBB+qee+6RYRix76+ux9P69evVq1cvvfzyy7t9XS+99JLOOeccHXrooerbt69GjRql5557bpeYV65cqa+++kq9evVSr169dPbZZ1f5/LfddpsGDRq0y7UlSVdffbUOO+wwhcPh2GMff/yxzjjjDA0cOFCDBg3S+PHjtXLlyt3GvDuDBw+WJP3xxx+VHq/N9bon5/7OPaai53xV/3b8/x+JRPTf//5Xo0ePVr9+/TRkyBBNnjxZhYWFlcY3DEP/+c9/dPjhh2vAgAE6++yz9+h9ksxztFWrVrGYo/8vFyxYoIcffliHH364+vXrp3PPPVdr167do+cCACDRUDEFAElm4sSJ6tq1q6666qrYTfnnn3+uP/74QyeddJJat26tlStXat68eVq1apXmzZsnm81WaYwrr7xSnTp10tVXX62ffvpJ8+fPV1ZWlq677rrYMZMmTdJbb72lE088UQMGDNDXX3+t8ePH7xJPXl6eTj31VNlsNp155pnKysrSJ598on/+858qKSnReeed12jvRSAQUElJifx+v5YvX67HH39cHTt2rLZ3VNSYMWM0c+ZMvfHGG7EpaJIUDof11ltvafDgwerQoYMKCgo0f/58HX/88TrllFNUWlqqF198URdddJHmz5+vPn36NMjrePjhh3X//ffruOOO01//+lcVFBTomWee0ZlnnqlXX3212l5NRxxxhFJTU/XWW2/poIMOqrRvwYIF2meffdSzZ09J0uWXX65Vq1bprLPOUseOHVVQUKDPPvtMmzZtUqdOneoU7wcffCCv16tjjz22fi+4BrfffrtycnJ0+eWX6/vvv9cLL7ygjIwMLVmyRO3bt9dVV12lTz75RI899ph69uypsWPHNsjzPv/889pnn300YsQIOZ1Offjhh7r11ltlGIbOPPNMSdJNN92kqVOnKjU1VZdccokkMxFXlVGjRunZZ5/VRx99pOOOOy72eHl5uT788EONGzcuVln06quvatKkSRo6dKiuvfZalZeX6/nnn9cZZ5yhV155pc7/jyRpw4YNklTp/Knt9VpSUtJg5/5f/vIXdenSpdJjP/74o5588kllZWXFHps8ebJeeeUVnXTSSTr77LO1fv16Pfvss/rpp5/0/PPPx6ZI3n///Xr44Yc1fPhwDR8+XD/++KMuuOACBYPBOr9HUYWFhSoqKtrlZ8ejjz4qm82mCy64QCUlJZozZ46uvfZazZ8/v97PBQBAoiExBQBJpnfv3rv0UDrjjDN0wQUXVHps4MCBuvrqq/Xtt9/GKiei+vTpozvuuCP29bZt2/Tiiy/GElM//vij3nrrLZ177rm66aabJElnnnmmbrzxRv3888+VxrrvvvsUDof1+uuvq1WrVpLMaXVXX321Zs6cqdNPP32PqqB2591339XVV18d+7pv376644475HTu/tdjt27d1K9fPy1YsEDXXXed7HazAPnzzz9Xfn6+Jk6cKElq0aKFPvjgg0q9ck499VQdd9xxevrppyu9h/W1YcMGPfjgg7ryyitjiQ5JOuaYYzRu3Dg999xzlR7fkdfr1YgRI7Rw4ULdfPPNsSRHbm6uvv7669hUxaKiIi1ZskTXX3+9Lrzwwtj3X3zxxfWK+ffff1e3bt0arYdQdnZ2LCFw5plnat26dXrsscd02mmn6dZbb5UknXbaaRoxYoReeumlBktMPfPMM5XO1bPOOksXXnihnnjiiVhi6uijj9aMGTPUqlWrSlPBqnLAAQeobdu2euuttyolpj766COVlZVp1KhRkqTS0lL93//9n0455RRNnTo1dty4ceM0cuRIzZ49u9Lj1SktLVVBQUGsx9Qdd9whm82mY445JnZMba/Xhjz3e/fuXalfW0FBgWbMmKGePXvGztFvvvlG8+fP17Rp0zRmzJjYsQcffLAuuugivf322xozZowKCgo0Z84cHXHEEZo1a1Ys6R5dsKC2/H6/CgoKJJkVdffee6/C4XClqZDR41599dXY+5CZman/+7//06+//hpL+gIAkOyYygcASeb000/f5bEdb6ajN1wDBgyQpCqnq+08xuDBg7Vt2zaVlJRIkhYtWiRJsamCUWeddValrw3D0DvvvKMRI0bIMAwVFBTE/g0dOlTFxcVVPn9DOfjgg/XEE0/o/vvv1+mnny6Xy1XltKm
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xm8jHX/x/H3NevZcRxLdhEqhIQskaTQpru0r/ykmxZpoUWb1jt3Kd2llGinXVkqrXe3klJaKMkSwjkOZ5/9+v0xznCcOZyNa86c1/Px8Og613znuj4z35npms98v5+vYZqmKQAAAAAAAOAQslkdAAAAAAAAAGofklIAAAAAAAA45EhKAQAAAAAA4JAjKQUAAAAAAIBDjqQUAAAAAAAADjmSUgAAAAAAADjkSEoBAAAAAADgkCMpBQAAAAAAgEOOpBQAAAAAAAAOOZJSAAAAZdi0aZPat2+vt956y+pQUE4TJ07UwIEDq/WYb731ltq3b69NmzZV63FjWbTX/hNPPKH27dsf8ljat2+vJ5544pCfFwBw8DmsDgAAAMS3UCikd955Rx9++KFWrVqlnJwcNWvWTEOHDtXIkSPldrtL3WfevHl6/vnntWnTJh122GG65JJLdMkll+z3PGPGjNHSpUv11VdfKSUlJWqbCRMmaPHixfryyy9Vr169anl88Wjjxo2aOXOmvvrqK23fvl1Op1Pt2rXTkCFDdN555ykhIcHqEA+Kp59+Wm3bttWgQYOsDkVSOBk2adKkyN92u13169dXnz59NH78eDVq1MjC6GLLpk2bdNJJJ0X+ttlsatSokY4++miNGzdORx55ZIWPeckll2jnzp16//33qzNUAMBeSEoBAICDqqioSJMmTVKXLl10/vnnq379+lqxYoWeeOIJLV26VHPmzJFhGJH2r732mu68806dcsopuuKKK7R8+XJNmTJFRUVFGj16dJnnOeOMM/Tpp5/q448/1llnnRU1jk8++UR9+/YlIbUfn332ma677jq5XC6deeaZateunfx+v7777jv961//0h9//KF7773X6jAPihkzZuiUU04plZQ688wzNWzYMLlcLkviuvbaa9WsWTP5fD798MMPevvtt/Xdd9/p/fffj5rUPViuvvrq/b4HY8Fpp52mE044QaFQSGvXrtWrr76qL774QnPnzq1UYgoAcHCRlAIAIAYVFhYqKSnJ6jCqhdPp1Kuvvqpu3bpF9o0YMUJNmzaNJKZ69+4tSfJ4PHr00Uc1YMAAPf7445G2oVBITz31lM477zzVqVMn6nkGDhyo5ORkzZ8/P2pSasmSJSosLNQZZ5xR/Q8yTvz1118aP368mjRpotmzZ6thw4aR2y666CJt2LBBn332mXUBWsRut8tut1t2/hNOOEGdOnWSJJ177rmqV6+enn32WS1ZskRDhw49ZHE4HA45HLH99eGoo47SmWeeGfm7W7duuvrqq/Xqq6/qnnvusTAyAEA01JQCAMBixXVa/vjjD02YMEHHHXecLrzwQknS6tWrNXHiRJ100knq1KmT+vTpo0mTJmnnzp1Rj7FhwwZNnDhR3bt317HHHqtJkyapqKioRFuPx6MpU6aoZ8+e6tq1q8aMGaNt27ZFrduybds2TZo0Sb1791bHjh01bNgwvfHGGxV6fC6Xq0RCqtjJJ58sSVq7dm1k3zfffKNdu3ZFHn+xiy66SIWFhftNiCQkJGjw4MH6+uuvtWPHjlK3v//++0pOTtbAgQO1a9cuPfTQQzr99NPVtWtXdevWTaNGjdLq1asP+HjKmkoYrZZRKBTSCy+8oGHDhqlTp07q3bu3Jk+erJycnP2e47nnnlP79u21efPmUrdNnTpVHTt2jBxj/fr1uuaaa9SnTx916tRJJ5xwgsaPH6+8vLwDPpZ9zZw5U4WFhbrvvvtKJKSKtWzZUpdddpmk/dfb2ve1VPz6XLdunW688UYde+yx6tWrlx577DGZpqm///5bV199tbp166Y+ffro+eefL3G8smo6ffPNN2rfvr2++eab/T6u5557Tueff7569uypzp076+yzz9aiRYtKxVxYWKi3335b7du3V/v27TVx4sSo57/qqqtKTBXb23nnnaezzz67xL53331XZ599tjp37qwePXpo/Pjx+vvvv/cb8/50795dUjiJuLe1a9fq2muvVY8ePdSpUyedffbZWrJkSYk2VXnt71tTauLEiZHnat9/e/e/z+fT448/rpNPPlkdO3ZU//799fDDD8vn85U4vs/n0/33369evXpFPpu2bt1a4ednb7169ZKkSN8V9+V3332nBx54QL169VKXLl00duxYZWdnV+lcAICKi+2fOgAAqEWuu+46tWzZUuPHj5dpmpKk//3vf/rrr7909tlnq0GDBlqzZo3mzp2rP/74Q3Pnzi0x7U2Srr/+ejVr1kw33HCDfv31V82bN0/p6em66aabIm0mTpyohQsX6swzz9Qxxxyjb7/9NuqUnKysLI0YMUKGYeiiiy5Senq6vvjiC912223Kz8/X5ZdfXqXHm5WVJUklptL9+uuvkqSOHTuWaHv00UfLZrNp1apVJUZB7Ov000/X22+/rYULF+riiy+O7N+1a5f++9//atiwYUpISNCaNWv08ccf69RTT1WzZs2UlZWl119/XRdffLE++OCDaqvVM3nyZL399ts6++yzdckll2jTpk16+eWX9euvv+rVV1+V0+mMer8hQ4boX//6lxYuXKhRo0aVuG3hwoXq06eP6tSpI5/Pp5EjR8rn8+niiy9WRkaGtm3bps8++0y5ublKTU2tULyffvqpmjdvHjWJWB3Gjx+vNm3aaMKECfr888/11FNPqW7dunrttdfUq1cv3XjjjZo/f74eeughderUSccdd1y1nHfOnDkaOHCgTj/9dPn9fn3wwQe67rrrNGPGDA0YMECS9PDDD+v2229X586dNWLECElSixYtoh5vyJAhuuWWW7Ry5Up17tw5sn/z5s364YcfdPPNN0f2PfXUU5o2bZqGDBmic845R9nZ2XrppZd00UUX6Z133lFaWlqFH09xsnLv+65Zs0YXXHCBGjVqpP/7v/9TUlKSFi5cqLFjx+qJJ56IJIH/+uuvanvtn3feeTr++ONL7Pvyyy81f/58paenSwonZq+++mp99913GjFihNq0aaPff/9ds2fP1vr16/Wf//wnct/bbrtN7733nk477TR169ZNX3/9dZWnC27cuFGSVLdu3RL7p0yZorS0NI0bN06bN2/W7Nmzdc899+ixxx6r0vkAABVDUgoAgBjRoUMHTZ06tcS+Cy+8UFdeeWWJfV26dNENN9yg7777LjJiotiRRx6p+++/P/L3rl279MYbb0SSUr/88osWLlyoyy67TLfeequk8CikSZMmlRop8eijjyoYDGr+/PmRxNEFF1ygG264QdOnT9f5559fpYLXM2fOVEpKik444YTIvszMzEgx5725XC7VrVtX27dv3+8xe/XqpQYNGuj9998vkZRatGiR/H6/Tj/9dEnhUTGLFy+WzbZn0PiZZ56pIUOG6I033tDYsWMr/biKLV++XPPmzdMjjzwSOa8k9ezZU6NGjdKiRYtK7N9bkyZN1KVLFy1YsKBEUmrlypX666+/NG7cOEnhkTGbNm3StGnTdOqpp0baFd9eEfn5+dq2bVuZI4CqQ+fOnSNTqM477zwNHDhQDz74oG644YZI8uG0005Tv3799Oabb1ZbUmrx4sUlXqsXXXSRzj77bM2aNSuSlDrzzDN11113qXnz5vtNfErSoEGD5HK5tHDhwhJJqYULF8owDA0ZMkRSOHn0xBNP6Prrr9eYMWMi7QYPHqzhw4frlVdeKbG/LPn5+crOzpbP59OPP/6o6dOny+Vy6cQTT4y0ue+++3TYYYfpzTffjNS+uvDCC3XBBRfokUceiSSlqvO137VrV3Xt2jXy94YNG3TvvfeqT58+Ov/88yVJ8+fP1//+9z+9+OKLJT6vjjjiCN155536/vvv1a1bN61evVrvvfeeLrzwQt15552Swv00YcIE/fbbb+WOqaioSNnZ2Qq
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAK1CAYAAADyjObpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HvmZoeCAkJXQSlCIiIDUUUKyIq7lrXtnZfsTdERSxrW7u4Nuy7a127KBZQce0I6ArSpJeQAmmT6ef942QGQiakkGQyw+9zXbk4zHnmnHsmZ5KZO/dzP4ZpmiYiIiIiIiIiIiJtzBbvAEREREREREREZOekxJSIiIiIiIiIiMSFElMiIiIiIiIiIhIXSkyJiIiIiIiIiEhcKDElIiIiIiIiIiJxocSUiIiIiIiIiIjEhRJTIiIiIiIiIiISF0pMiYiIiIiIiIhIXCgxJSIiIiIiIiIicaHElIiINEq/fv24/fbbd/g4a9asoV+/fjz77LMtEJV8//339OvXj++//z7eoUgjnXnmmZx55pkteszHHnuMfv36tegx27tY1/7EiRMZPXp0m8YR+Zn21ltvtel5RUREkoUj3gGIiMiOef/99ykpKeGcc86Jdyht7uuvv2b69On88ssvLFu2jC5dujBz5swG7/fee+9x3XXXkZaWxty5c5t0ziVLlvDYY4/x22+/UVxcTEpKCn379uW8885r8APxuHHjqKioYNasWRiGEXPMqaeeyqpVq/jqq69wOPRruj4LFy7k2Wef5ccff6SkpIS0tDQGDhzIuHHjOOGEE7Db7fEOscVVV1czbdo09t13X/bbb794hwNYCbGpU6dG/+9wOMjPz2f06NFcfvnlZGVlxTG69uX777/nrLPOiv7f4XBQUFDA3nvvzWWXXUaPHj2afMzRo0ez22678dRTT7VkqCIiIm1K73hFRBLcBx98wJIlS3bKxNQHH3zA9OnTGThwIJ07d27Ufaqqqvj73/9OWlpas865bt06qqqqGD9+PJ07d6a6uppPPvmESy65hNtvv51TTjml3vuOGzeOBx54gJ9++ol99tmnzv41a9Ywb948zjjjDCWltuONN97g1ltvpVOnThx//PH06tWLqqoqvvvuO2666SaKioq4+OKL4x1mi6uurmbq1KlMmDChTmLqkksu4cILL4xTZDBlyhTS0tKorq7m22+/5eWXX+a3337jlVdeadM47rjjDkzTbNNzNtWZZ57J4MGDCQaDLFiwgNdee40vv/yS9957j/z8/HiHJyIi0ub0rldERBLWVVddxR133IHT6eSiiy5iyZIlDd7niSeeID09nf3224/PP/+8yeccNWoUo0aNqnXbGWecwYknnsjzzz/fYGLqwQcf5P3334+ZmPrwww8xTZNx48Y1Oa6dxbx587j11lsZOnQoTz/9NBkZGdF955xzDr/++mujroNk43A44prMPOqoo8jJyQGsqr+rrroqWs04ZMiQNovD6XS22bmaa/jw4Rx99NEA/OlPf2KXXXbhzjvv5J133uGiiy6Kc3QiIiJtTz2mRETascrKSv72t78xevRoBg0axAEHHMBf//pXfvvtN8D6y/sXX3zB2rVr6devH/369as1naykpIRJkyYxYsQIBg8ezHHHHcfbb79d5zzhcJgXX3yRcePGMXjwYPbff3/OO+88fv311zpjP/vsM4499lgGDRrE2LFj+eqrr3b4cZqmyS233MKgQYP45JNPGn2//Pz8Jn0QXbFiBS+88AI33nhji36It9vtdOnShYqKiu2O69KlC/vssw8zZswgEAjU2f/BBx/Qs2dP9txzT9auXcuUKVM46qijGDJkCPvttx+XX345a9asaTCe0aNHM3HixDq3x+pt5Pf7efTRRzniiCMYNGgQo0aN4r777sPv92/3HLfffjt77bUX1dXVdfZdffXVHHjggYRCIQB+/fVXzjvvPPbbbz+GDBnC6NGjufHGGxt8HLFMnToVwzC4//77ayWlIgYPHsyJJ54I1N9/K1ZPoIkTJ7LXXnuxbt06LrroIvbaay9GjhzJv/71LwAWLVrEWWedxdChQzn00EN5//33ax2zvh5Pb731Fv369dvu983v9/PII49w4oknsvfeezN06FBOP/10vvvuu1oxH3DAAdHnIPJ6f+yxx2Ke/9hjj43ZxyocDjNy5Eguv/zyWre98MILjB07lsGDBzNixAgmT55MWVlZvTE3ZPjw4QCsWrWq1u3z58/nvPPOY++992bPPffkjDPOYM6cObXG7Mi1v22PqTPPPDP6XG37tfX3v7y8nL/97W+MGjWKQYMGccQRR/D0008TDodrHb+8vJyJEyey9957M3z4cG644YYGX/cN2X///QGijy/yvVy5ciUTJ05k+PDh7L333tx4440xX28iIiKJThVTIiLt2K233sqMGTM444wz6NOnD5s3b2bOnDksW7aMPfbYg4svvpiKigo2bNgQ/aCfnp4OgNfr5cwzz2TVqlX85S9/oXv37nz88cdMnDiR8vJyzj777Oh5brrpJt566y0OPvhg/vznPxMKhfjpp5+YP38+gwcPjo6bM2cOn3zyCaeffjrp6em8/PLLXH755cyaNYuOHTs26zGGQiEmTZrE9OnTmTp1Koccckjzn7AG3HXXXey3336MGjWKjz76aIeO5fF48Hq9VFZWMnPmTL766ivGjBnT4P3GjRvHLbfcwtdff82hhx4avX3RokUsXryYSy+9FLCSOXPnzmXs2LEUFBSwdu1aXnnlFc466yw+/PBDUlNTdyh+sBISl1xyCXPmzOHkk0+mT58+LF68mBdffJEVK1bwj3/8o977HnPMMfzrX//iiy++qPW4q6urmTVrFuPHj8dut1NSUsJ5551Hx44dufDCC8nKymLNmjV8+umnTY63urqa7777juHDh9O1a9dmPebtCYVCXHDBBQwfPpxrr72W999/n9tvv53U1FQeeughxo0bx5FHHsmrr77KDTfcwNChQ5vVF2hblZWVvPHGGxx77LGcdNJJVFVV8eabb3L++efzxhtvMGDAAHJycpgyZQpTpkzhiCOO4IgjjgCot+H5mDFjmDp1KkVFReTl5UVvnzNnDhs3buSYY46J3jZ58mTefvttTjzxRM4880zWrFnDv/71LxYsWMArr7zSrCqkSJJl6x5T3377LRdccAGDBg1iwoQJGIbBW2+9xdlnn82///3vaGVVS177F198MX/+859r3fbee+/x9ddf06lTJ8C6rs444wwKCws59dRT6dKlC3PnzuXBBx+kqKiIm266CbAS6P/3f//HnDlzOPXUU+nTpw+ffvopN9xwQ5Ofn61FkncdOnSodfuVV15J9+7dufrqq1mwYAFvvPEGOTk5XHfddTt0PhERkfZGiSkRkXbsyy+/5OSTT65V/XLBBRdEtw888EBeeuklysvLOf7442vd97XXXmPZsmX8/e9/57jjjgOsKTZnnnkmDz/8MH/605/IyMjgu+++46233uLMM8/k5ptvjt7/3HPPrdOrZdmyZUyfPp2ePXsCsN9++3H88cfz4YcfcsYZZzT58QWDQa677jpmzpzJE088wUEHHdTkYzTWF198wX//+1/efffdFjnePffcw2uvvQaAzWbjiCOOYPLkyQ3e76ijjuKOO+7ggw8+qJWY+uCDDwCi0/gOOeSQ6HSfiEMPPZRTTjmFGTNmcMIJJ+zwY3j//ff55ptvePnll6MVLgC77bYbt956Kz///DPDhg2Led+9996b/Px8Pvroo1qJqS+++AKPxxNNfMydO5eysjKeffbZWknOq666qsnxrly5kkAgwO67797k+zaGz+fjuOOOi06nGjduHCNHjmTSpEk8+OCD0cc0YsQIxowZwzvvvMNll122w+fNzs5m5syZuFyu6G0nn3wyY8aM4eWXX+auu+4iLS2No446iilTptCvX786r/dtHXPMMTz66KPRxHbE9OnTSUtLiyaAf/rpJ9544w3uv//+WlNI99tvP84//3w+/vjjRk0tjVRXRZKH//73v8nJyYlOWTVNkylTprDffvsxbdq
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HvmZoeUiAQmhQpEpqiCIpYUbFi772L7dV10XVd+6ora8NVFMvi7qq4i7oqil2xi4ugNCkBpAWSQOr0Oe8fJzMQCJBkkkwm+X2uKxeHmWfOuWdyJplz537uxzBN00RERERERERERKQF2eIdgIiIiIiIiIiItD9KSomIiIiIiIiISItTUkpERERERERERFqcklIiIiIiIiIiItLilJQSEREREREREZEWp6SUiIiIiIiIiIi0OCWlRERERERERESkxSkpJSIiIiIiIiIiLU5JKRERERERERERaXFKSomItEP9+/fnnnvuiXk/a9eupX///jz//PNNEFXbdfjhhzNp0qR4hyH1NHPmTPr378/atWubbJ+R98rMmTObbJ+JYMdz/7vvvqN///589913LRrH+eefz/nnn9+ixxQREZE9U1JKRKQVefvtt3nppZfiHUZcnH/++fTv33+nr0svvbTB+3rggQeYMGECBxxwAEOHDuXYY4/lySefpKqqarePe/HFF+nfvz9ff/31LsfMmDGD/v378/HHHzc4rvaksrKSKVOmcOKJJzJ8+HCGDBnC8ccfz1/+8heKioriHV6zaW3v4UgyLPI1YMAADjjgAC677DLmzZsX7/BancMPP7zW6zVq1CjOOeccPvzww0bt78knn6R///6UlpY2caQiIiJtgyPeAYiIyDbvvPMOy5Yt46KLLop3KHHRuXNn/u///q/WbZ06dWrwfn7++Wf2228/TjnlFNxuN4sWLeLZZ5/l66+/5p///Cc2W91/kxk/fjwPP/wwb7/9NqNHj65zzNtvv02HDh045JBDGhxXe/Hbb79x0UUXsWHDBo455hjOPPNMnE4nS5cu5d///jcfffQRs2fPjneYzWJX7+GuXbuyYMECHI74fPQ6/vjjOeSQQwiHw6xatYp//etfXHDBBfz73/+mf//+LRbH/vvvz4IFC3A6nS12zIYaOHAgF198MQCbNm3itddeY+LEidx1112cffbZcY5ORESkbVFSSkREWo309HROOumkmPfzyiuv7HRbjx49eOihh1iwYAHDhg2r83F5eXmMHDmSDz/8kLvvvhuXy1Xr/qKiIubOncsZZ5zRqi+q4ykYDDJx4kRKSkqYPn06I0aMqHX/TTfdxHPPPRen6OLHMAzcbnfcjr/PPvvUem/tt99+XH755bzyyivcddddLRaHzWaL6+tQH3l5ebVeq5NPPplx48bx0ksvKSklIiLSxDR9T0SkhVRWVnL//fdz+OGHU1BQwKhRo7j44otZuHAhYE1f++yzz1i3bl106sjhhx8efXxJSQm33347o0ePZvDgwZx44om88cYbOx0nHA7z97//nRNOOIHBgwdz4IEHcumll/Lzzz/vNPajjz7i+OOPp6CggOOOO44vvvgi5udpmiZ//OMfKSgo4IMPPmjw44PB4B6n2TVG165dASgvL9/tuBNPPJGKigo+++yzne579913CYfDnHDCCQA8//zznHXWWYwcOZIhQ4Zwyimn8P777+8xlsiUnh3tqpfR559/zjnnnMOwYcMYPnw4V1xxBcuWLdvtMX7++Wf69+9f5zkyZ84c+vfvz6effgrs+dxsiA8++IAlS5Zw1VVX7ZSQAkhLS+Omm26K/n9X/bZ27AEU6UU0a9YspkyZwpgxYxg+fDjXX389FRUV+P1+7r//fkaNGsXw4cO57bbb8Pv90cfvrqdT//79efLJJ3f7vD766COuuOIKDj74YAoKCjjyyCN56qmnCIVCtWLe1Xt4x+M///zz9O/fn3Xr1u10rMmTJ1NQUEBZWVn0tvnz53PppZey3377MXToUM477zx+/PHH3ca8O5HvzW+//Vbr9vLycu6//37Gjh1LQUEBRx11FM8++yzhcLjWuMae+zv2lIqc83V97dgD6q233uKUU05hyJAhHHDAAdx0001s2LBhp2O89tprHHnkkQwZMoTTTjuNuXPnNui12VHHjh3p3bt39Hu1fS+9yLEKCgo49dRTWbBgQUzHEhERaW9UKSUi0kL+9Kc/MXv2bM477zz69OnD1q1b+fHHH1mxYgWDBg3iqquuoqKigo0bN3LbbbcBkJqaCoDX6+X8889nzZo1nHvuuXTr1o3333+fSZMmUV5ezoUXXhg9zh/+8AdmzpzJIYccwmmnnUYoFGLu3LnMnz+fwYMHR8f9+OOPfPDBB5xzzjmkpqby8ssvc/311/Ppp5+SlZXVqOcYCoW4/fbbo4mDQw89tEGPX7VqFcOGDSMQCJCbm8vpp5/Otdde26iqpGAwSHl5OYFAgGXLlvHYY4+RmprKkCFDdvu4cePGcdddd/HOO+8wbty4Wve98847dO3alf322w+A6dOnc/jhh3PCCScQCAR49913ueGGG5g6dWqDn/uuvPnmm0yaNImDDz6YW265BY/HwyuvvMI555zDG2+8Qbdu3ep83ODBg+nevTvvvfceEyZMqHXfrFmzyMzM5OCDDwb2fG42RKTXVlNUvNXl2WefJSkpiSuuuILVq1fzj3/8A4fDgWEYlJeXM3HiRObPn8/MmTPp2rUrEydObJLjvvHGG6SkpHDxxReTkpLCt99+yxNPPEFlZSW///3vAXb7Ht7Rsccey1/+8hfee+89Lrvsslr3vffeexx00EFkZmYC8M0333D55ZdTUFDAxIkTMQyDmTNncuGFF/Kvf/1rj+d0XSIJloyMjOhtHo+H8847j6KiIs466yy6dOnCvHnz+Otf/8rmzZv5wx/+EB3bVOf+/vvvz8MPP1zrtvXr1/PYY4+RnZ0dve3pp5/m8ccf59hjj+W0006jtLSUf/zjH5x77rm8+eab0efx+uuvc+eddzJ8+HAuvPBCfvvtN66++moyMzPp0qVLg18ngEAgwMaNG+nQoUOt29955x2qqqo488wzMQyDadOmcd111/HRRx+pklJERKSelJQSEWkhn3/+OWeccUatqpDLL788un3QQQcxffp0ysvLd7qgf+2111ixYgV/+ctfOPHEEwE466yzOP/883nsscc49dRTSUtL49tvv2XmzJmcf/753HHHHdHHX3LJJZimWWufK1asYNasWfTo0QOAkSNHctJJJ/Huu+9y3nnnNfj5BYNBfve73/HJJ5/w9NNPRxMe9dW9e3dGjhxJv379qK6uZvbs2Tz99NOsWrWKxx57rMHx/PLLL5x55pnR//fq1Yunn356pwvLHaWlpXHYYYfx6aefUllZSVpaGgArV65k4cKFXHnllRiGAcDs2bNJSkqKPvbcc8/llFNO4cUXX2ySpFRVVRX3338/p59+Ovfee2/09gkTJnDMMccwderUWrfvaPz48bzwwguUlZVFExx+v5+PPvqIo446KnrhvKdzsyFWrlxJenp6oxMAexIKhXj55ZejsW/ZsoV3332XMWPGRKcFnnvuuaxZs4aZM2c2WVJq8uTJtb7XZ599NnfeeSevvPIKN910Ey6Xa7fv4R3l5+czbNgwZs2aVSsptWDBAn777bdo3KZpctdddzFy5EimTZsWPffOOussjjvuOB577DFeeOGFPcbv8XgoLS2N9pR68MEHATj66KOjY1588UV+++033njjDfbaa6/ocTp16sTzzz/PJZdcEv2+NtW53717d7p37x79v8/n4+yzz6ZTp07Rn2Hr1q3jySef5MYbb+Sqq66Kjh03bhwTJkzgX//6F1dddRWBQIBHH32UgQMHMn369Oj02759+/LHP/6x3udkMBiMNibftGkTzz77LMXFxTtVbq1fv54PPvgg+t7q1asX11xzDV9++SWHHXZYvV8DERGR9kzT90REWkhGRgbz589v1MpjX3zxBR07duT444+P3uZ0Ojn//POprq7mhx9+AKypU4Zh1HkhHrmYjRg
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAK1CAYAAADyjObpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd8U/X+x/HXyWzTBR2UvRVkyBAHCCJcB4io6HWLW9Qr4lbEheJ1gpN7Xbh/XnHhwIVeQcXrRsCFCoIgINBB6Uiz8/sjTaC0pbtJk/fz8eiD05yTk0/Sc0LOJ5/v52sEg8EgIiIiIiIiIiIiLcwU7QBERERERERERCQxKTElIiIiIiIiIiJRocSUiIiIiIiIiIhEhRJTIiIiIiIiIiISFUpMiYiIiIiIiIhIVCgxJSIiIiIiIiIiUaHElIiIiIiIiIiIRIUSUyIiIiIiIiIiEhVKTImIiIiIiIiISFQoMSUiIvXSp08fbrvttkbvZ+PGjfTp04cnn3yyCaKSr776ij59+vDVV19FOxSpo8mTJzN58uQm3efDDz9Mnz59mnSfsa66Y3/69OmMHTu2ReMIv6ctWLCgRR9XRESktbNEOwAREWkaCxcupKCggLPPPjvaobSo8vJyFixYwEcffcRvv/1GWVkZ3bp146STTuLkk0/GbDZX2v6RRx5h5cqVfP/99xQUFDB16lQuvfTSej/uxo0b+dvf/lbtuvvuu48JEybUeN+JEydSUlLCkiVLMAyj2m1OOeUUNmzYwKefforFov+ua7Jq1SqefPJJvvnmGwoKCnA4HPTr14+JEydy3HHHVfn7x4Py8nLmzZvHAQccwIEHHhjtcIBQQmzu3LmR3y0WC7m5uYwdO5Zp06aRnp4exehiy1dffcWZZ54Z+d1isdC+fXv2228/Lr30Urp06VLvfY4dO5a99tqLxx57rClDFRERaRH6pCsiEifefvttVq9enXCJqT///JNZs2YxfPhwzj77bFJTU/nss8+49dZbWblyJXfffXel7R944AFycnLYZ599+Oyzzxr9+EcffTSHHHJIpdsGDx68x/tMnDiROXPm8O2337L//vtXWb9x40ZWrFjBGWecoaTUHrzyyivccsstZGVlceyxx9KtWzfKysr48ssvueGGG8jLy+Oiiy6KdphNrry8nLlz5zJ16tQqiamLL76YKVOmRCkymDlzJg6Hg/Lycr744guef/55fvrpJ1588cUWjWPWrFkEg8EWfcz6mjx5MgMHDsTn8/Hzzz/z0ksv8cknn/DWW2+Rm5sb7fBERERajD7tiohIq5adnc3ChQvZa6+9IredcsopXH/99SxYsIB//OMfdOvWLbLuo48+onPnzhQWFjJ8+PBGP36/fv049thj63WfiRMnct9997Fw4cJqE1PvvPMOwWCQiRMnNjq+eLVixQpuueUWBg8ezOOPP05qampk3dlnn80PP/zA6tWroxhhdFgslqgmM4888kgyMzOB0Hl4xRVX8O677/L999+z7777tlgcVqu1xR6roYYNG8a4ceMAOOGEE+jevTu33347b7zxBhdeeGGUoxMREWk56jElItIKlJaW8s9//pOxY8cyYMAAhg8fzjnnnMNPP/0EhL55//jjj9m0aRN9+vShT58+lfqrFBQUMGPGDEaMGMHAgQM55phjeP3116s8TiAQ4Nlnn2XixIkMHDiQgw46iPPOO48ffvihyrb//e9/OfrooxkwYAATJkzg008/bfTzDAaD3HTTTQwYMIAPPvigTvfJzMyslJQKO/zwwwH4/fffK93euXPnRse5O6fTicfjqfP2HTp0YP/992fRokV4vd4q699++226du3KoEGD2LRpEzNnzuTII49k33335cADD2TatGls3Lix1scZO3Ys06dPr3J7db2NPB4PDz30EIcffjgDBgxg9OjR3HPPPbU+r9tuu40hQ4ZQXl5eZd2VV17JwQcfjN/vB+CHH37gvPPO48ADD2Tfffdl7NixXH/99bU+j+rMnTsXwzCYPXt2paRU2MCBAzn++OOBmvtvVdcTaPr06QwZMoTNmzdz4YUXMmTIEEaNGsULL7wAwK+//sqZZ57J4MGDGTNmDAsXLqy0z5p6PC1YsIA+ffrs8e/m8Xh48MEHOf7449lvv/0YPHgwp512Gl9++WWlmMMJ1blz50bO94cffrjaxz/66KOr7WMVCAQYNWoU06ZNq3TbM888w4QJExg4cCAjRozg5ptvZseOHTXGXJthw4YBsGHDhkq3r1y5kvPOO4/99tuPQYMGccYZZ7Bs2bJK2zTm2N+9x9TkyZMjr9XuP7v+/YuLi/nnP//J6NGjGTBgAIcffjiPP/44gUCg0v6Li4uZPn06++23H8OGDeO6666jpKSk3q/Prg466CCAyPML/y3Xr1/P9OnTGTZsGPvttx/XX399teebiIhIa6WKKRGRVuCWW25h0aJFnHHGGfTq1YuioiKWLVvG77//Tv/+/bnooosoKSlhy5YtkQv9lJQUAFwuF5MnT2bDhg2cfvrpdO7cmffff5/p06dTXFzMWWedFXmcG264gQULFnDIIYfw97//Hb/fz7fffsvKlSsZOHBgZLtly5bxwQcfcNppp5GSksLzzz/PtGnTWLJkCW3btm3Qc/T7/cyYMYN3332XuXPncuihhzb8BQPy8/MBGhxPXc2dO5d77rkHwzDo378/V1xxBSNHjqz1fhMnTuSmm27is88+Y8yYMZHbf/31V3777TcuueQSIJTMWb58ORMmTKB9+/Zs2rSJF198kTPPPJN33nmH5OTkRj+HQCDAxRdfzLJlyzjppJPo1asXv/32G88++yx//PEH//73v2u871FHHcULL7zAxx9/zPjx4yO3l5eXs2TJEiZNmoTZbKagoIDzzjuPtm3bMmXKFNLT09m4cSMffvhhveMtLy/nyy+/ZNiwYXTs2LFBz3lP/H4/F1xwAcOGDePqq69m4cKF3HbbbSQnJ3P//fczceJEjjjiCObPn891113H4MGDG9QXaHelpaW88sorHH300Zx44omUlZXx6quvcv755/PKK6+wzz77kJmZycyZM5k5cyaHH354JAFbU8Pz8ePHM3fuXPLy8sjJyYncvmzZMrZt28ZRRx0Vue3mm2/m9ddf5/jjj2fy5Mls3LiRF154gZ9//pkXX3yxQVVI4STLrj2mvvjiCy644AIGDBjA1KlTMQyDBQsWcNZZZ/Gf//wnUlnVlMf+RRddxN///vdKt7311lt89tlnZGVlAaHj6owzzmDr1q2ccsopdOjQgeXLl3PfffeRl5fHDTfcAIQS6P/4xz9YtmwZp5xyCr169eLDDz/kuuuuq/frs6tw8q5NmzaVbr/88svp3LkzV155JT///DOvvPIKmZmZXHPNNY16PBERkVihxJSISCvwySefcNJJJ1WqfrngggsiywcffDDPPfccxcXFVYaVvfTSS/z+++/ce++9HHPMMUBoiM3kyZN54IEHOOGEE0hNTeXLL79kwYIFTJ48mRtvvDFy/3PPPbdKr5bff/+dd999l65duwJw4IEHcuyxx/LOO+9wxhln1Pv5+Xw+rrnmGhYvXswjjzxSp8TOnng8Hp599lk6d+5cKaHWlEwmEyNHjuSwww4jNzeXP//8k2eeeYYLLriARx55pNbE2pFHHsmsWbN4++23KyWm3n77bYDIML5DDz00MtwnbMyYMZx88sksWrSI4447rtHPZeHChXz++ec8//zzkQoXgL322otbbrmF7777jqFDh1Z73/3224/c3Fzee++9Sompjz/+GKfTGUl8LF++nB07dvDkk09W+ptcccUV9Y53/fr1eL1e9t5773rfty7cbjfHHHNMZDjVxIkTGTVqFDNmzOC+++6LPKcRI0Ywfvx43njjjQY10N9dRkYGixcvxmazRW476aSTGD9+PM8//zx33HEHDoeDI488kpkzZ9KnT59ah5EeddRRPPTQQ5HEdti7776Lw+GIHKfffvstr7zyCrNnz640hPTAAw/k/PPP5/3336/T0NJwdVU4efif//yHzMzMyJDVYDDIzJkzOfD
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABJsAAAK1CAYAAABvge9hAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HvmZ4OSSChg1TpTVQUUMSCiL3uKnbUFXvDuhbWtmJZsaCsdV0Vdy1rA31FEQt2RAWkg7RACqRMpp/3j8kMBAIkMMNMJr/PdXF5MvPMOXeSZ+LMPfdzP4ZpmiYiIiIiIiIiIiIxYEl0ACIiIiIiIiIikjqUbBIRERERERERkZhRsklERERERERERGJGySYREREREREREYkZJZtERERERERERCRmlGwSEREREREREZGYUbJJRERERERERERiRskmERERERERERGJGSWbREREREREREQkZpRsEhERSVLffPMN3bt355tvvkl0KFJP55xzDuecc05Mz/n444/TvXv3mJ4z2dU19ydOnMjIkSP3aRxr1qyhe/fuvPnmm/v0uiIiIo2dLdEBiIiIJIs1a9ZwxBFH1Hnfww8/zJgxY3b62LFjx1JRUcGnn36KYRh1jjnzzDNZvXo1n3/+OTab/he8MwsXLuSf//wn3333HSUlJaSnp9OzZ0/Gjh3LiSeeiNVqTXSIMVddXc20adMYMmQIBx54YKLDAcJJrilTpkS/ttlsFBQUMHLkSK688kqys7MTGF1y+eabbxg3blz0a5vNRmFhIYMGDeKKK66gXbt2DT7nyJEj6dq1K1OnTo1lqCIiIvuEXumKiIhs57jjjmP48OG1buvfv/8uHzN27FgmT57M999/zwEHHLDD/WvWrGHevHmcffbZSjTtwhtvvMFf//pX8vLyOOGEE+jQoQNVVVXMnTuXW2+9lU2bNnHppZcmOsyYq66uZsqUKUyYMGGHZNNll13G+PHjExQZ3HnnnaSnp1NdXc3XX3/Nyy+/zG+//carr766T+O45557ME1zn16zoc455xz69OlDIBBgwYIFvP7668yePZv//e9/FBQUJDo8ERGRfUavdkVEJCm53W7S09MTcu2ePXtywgknNOgxY8eO5eGHH+bdd9+tM9n0/vvvY5omY8eOjVWYKWfevHn89a9/pX///jzzzDNkZmZG7zvvvPP45ZdfWLJkSQIjTAybzZbQBOXRRx9Nbm4uEK7Ou+aaa/jggw+YP38+ffv23Wdx2O32fXatPTV48GCOOeYYAE455RQ6duzIpEmTePvtt7nkkksSHJ2IiMi+o55NIiKScJGeNEuXLuW6667jgAMO4E9/+hMAgUCAJ554glGjRtG7d29GjhzJww8/jM/n2+E8s2fP5uyzz2bAgAEMHDiQU045hXfffXePYnK73XVeY2datWrFAQccwMyZM/H7/Tvc/95779G+fXv69evH2rVrufPOOzn66KPp27cvBx54IFdeeSVr1qzZ7XVGjhzJxIkTd7i9rl5BPp+Pf/zjHxx55JH07t2bESNG8OCDD+72+7r77rsZMGAA1dXVO9x37bXXcsghhxAMBgH45ZdfuPDCCznwwAPp27cvI0eO5Oabb97t91GXKVOmYBgGDz30UK1EU0SfPn04+eSTgZ33s6qrx87EiRMZMGAA69at45JLLmHAgAEMGzaMV155BYDff/+dcePG0b9/fw4//PAd5szOeia9+eabdO/efZe/N5/Px2OPPcbJJ5/MoEGD6N+/P3/605+YO3durZgPPvjg6M+ge/fudO/enccff7zO6x933HF19oUKhUIMGzaMK6+8stZtL7zwAmPGjKFPnz4MHTqUO+64gy1btuw05t0ZPHgwAKtXr651+88//8yFF17IoEGD6NevH2effTY//PBDrTF7M/e379l0zjnnRH9W2//b9vdfXl7O3/72N0aMGEHv3r058sgjeeaZZwiFQrXOX15ezsSJExk0aBCDBw/mpptuoqKiosE/n20ddNBBANHvL/K7XLVqFRMnTmTw4MEMGjSIm2++uc7nm4iISGOlyiYREUkaV111FR06dOCaa66JLpe57bbbeOuttzj66KM5//zzmT9/PlOnTmXZsmU88cQT0ce++eab3HLLLXTt2pVLLrmErKwsFi5cyJw5cxpcTTRlyhQefPBBDMOgV69eXHPNNRx66KG7fdzYsWO5/fbb+eKLLzj88MOjt//+++8sXryYyy+/HAgnaH766SfGjBlDYWEha9eu5dVXX2XcuHG8//77pKWlNSjeuoRCIS677DJ++OEHTj/9dDp37szixYt58cUXWblyJU8++eROH3vsscfyyiuv8NlnnzF69Ojo7dXV1Xz66aecdNJJWK1WSkpKuPDCC2nevDnjx48nOzubNWvW8PHHHzc43urqaubOncvgwYNp3br1Hn3PuxIMBrn44osZPHgw119/Pe+++y533303aWlpPPLII4wdO5ajjjqK1157jZtuuon+/fvvUZ+d7VVWVvLGG29w3HHHcdppp1FVVcV//vMfLrroIt544w32339/cnNzufPOO7nzzjs58sgjOfLIIwF22hR89OjRTJkyhU2bNtGiRYvo7T/88AMbN27k2GOPjd52xx138NZbb3HyySdzzjnnsGbNGl555RUWLFjAq6++ukfVQpHEybY9m77++msuvvhievfuzYQJEzAMgzfffJNzzz2Xf//739EKqFjO/UsvvZRTTz211m3/+9//+OKLL8jLywPC8+rss8+mqKiIM888k1atWvHTTz/x8MMPs2nTJm699VYATNPkL3/5Cz/88ANnnnkmnTt35uOPP+amm25q8M9nW5GEXLNmzWrdfvXVV9O2bVuuvfZaFixYwBtvvEFubi433HDDXl1PREQkWSjZJCIiSaNHjx5Mnjw5+vWiRYt46623OO2005g0aRIAf/7zn8nNzeW5555j7ty5HHTQQVRUVDBp0iT69u3Lyy+/jNPpjJ6jIT1eLBYLhx56KKNGjaKgoIA//viDF154gYsvvpinnnqKww47bJePP/roo7nnnnt47733aiWb3nvvPYBo0uuwww6LLrWJOPzwwznjjDOYOXMmJ554Yr1j3pl3332Xr776ipdffjlaiQLQtWtX/vrXv/Ljjz8ycODAOh87aNAgCgoK+PDDD2slmz777DPcbnc0mfHTTz+xZcsW/vnPf9KnT5/ouGuuuabB8a5atQq/30+3bt0a/Nj68Hq9HH/88dGlTGPHjmXYsGHccsstPPzww9HvaejQoYwePZq3336bK664Yq+vm5OTw6xZs3A4HNHbTj/9dEaPHs3LL7/MvffeS3p6OkcffTR33nkn3bt33+0SzmOPPZZ//OMfzJw5k7PPPjt6+wcffEB6enp0nn7//fe88cYbPPTQQ7USrgceeCAXXXQRM2bMqFciNlIFFUkI/vvf/yY3Nze6XNQ0Te68804OPPBApk2bFm2Qf+aZZzJmzBgeffRRnnvuOSC2c/+QQw6p9fWPP/7IN998wymnnMKIESMAeP755/njjz9466236NixYzSuli1b8s9//pMLLriAVq1a8cknn/Ddd99xww03cNFFFwFw1lln1Wr6XR9VVVWUlpYSCARYuHAhf/vb3zAMg6OOOqrWuP3335977703+vXmzZv5z3/+o2STiIikDC2jExGRpHHmmWfW+nr27NkAnH/++bVuv+CCC2rd/+WXX1JVVcX48eNrJZqAne4MV5fWrVvzz3/+k7POOouRI0dy7rnn8tZbb5Gbm8v999+/28fn5OQwYsQIZs2ahdvtBsJvxN9//3169+5Np06dAHC5XNHH+P1+ysrKaN++PdnZ2SxYsKDe8e7KjBkz6Ny5M/vttx+lpaXRf5FlPdsvP9uWYRgcc8wxzJ49m6qqqujtH374IQUFBQwaNAiArKwsIJyEqmvpYENUVlYCkJGRsVfn2ZXTTjstepydnU2nTp1IS0urlVDbb7/9yM7O5o8//ojJNa1WazTRFAqF2Lx5M4FAgN69e+/x77pTp07sv//+fPDBB9HbgsEgM2fOZOTIkdH
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/Hv9GTSSCOhS1FQCQgCKsKiWFZBbGtZe13Lit11wXVd22tbWRt2Vl1dFXVti6LYFRXrqtgVCCBCQgqpk+nn/eNkBgIBkswkM5P8PtfF5XHmmTP3JE+SOffcz/1YDMMwEBERERERERER6ULWRAcgIiIiIiIiIiI9j5JSIiIiIiIiIiLS5ZSUEhERERERERGRLqeklIiIiIiIiIiIdDklpUREREREREREpMspKSUiIiIiIiIiIl1OSSkREREREREREelySkqJiIiIiIiIiEiXU1JKRERERERERES6nJJSIiIiwKxZs5g6dWqiw5A2WrNmDcOHD+e5556L63mnTp3KrFmz4nrOZNfa3B8+fDh33XVXl8Zx1113MXz48C59ThEREUksJaVERCSu7r33Xs455xwmTpy43Qvb8vJyLrzwQsaNG8fYsWM599xz+eWXX7Z5/m+//Zbhw4dz2223bXXMypUrGT58ODfeeGOHX0dPEAqFePbZZznppJOYMGECI0eOZOrUqcyePZuvv/460eF1mv/973/cdddd1NXVJTqUqKlTpzJ8+PDov912242jjjqKF154IdGhJZ1Zs2a1+FqNHTuWQw89lIceegi/39/u83388ccMHz6cV199tROiFRERkW2xJzoAERHpXm6//XYKCwvZeeedef/997c6rrGxkZNPPpn6+nrOPvtsHA4HjzzyCCeeeCIvvPACubm5rT5u1113ZciQIbz88stcfPHFrY556aWXADj00ENjf0HdlNfrZebMmSxevJjx48dz9tlnk5OTw6+//sorr7zC888/zzvvvENxcXGiQ427L774grlz53LEEUeQnZ3d4r5XX30Vi8WSkLh23nlnTjvtNAAqKip45pln+POf/4zf7+eYY47p0liWLl2KzWbr0udsD6fTyfXXXw9AfX09ixYt4uabb+brr7/eZsJaREREkouSUiIi3ZTH48Htdnf587755pv079+f6upq9tprr62Oe+KJJ1i5ciXPPPMMo0aNAmDy5MnMmDGDhx9+mEsuuWSrj50xYwZ33HEHX375JbvtttsW97/00ksMGTKEXXfdNebX013dcsstLF68mNmzZ3Pqqae2uG/mzJk88sgjCYkr0ZxOZ8Keu6ioiMMOOyz6/0ceeST77bcfjzzySJcnpVwuV5c+X3vZ7fYWX6vjjz+eo48+moULFzJr1iyKiooSGJ2IiIi0lZbviYh0A5FeLMuWLePSSy9l/PjxHH/88QAEg0Huvvtu9t9//+jyrH/84x+tLnN59913OfHEExkzZgxjx47ld7/7HQsWLGhXLP3792/TuEWLFlFSUhJNSAEMHTqUvfbai1deeWWbj50xYwawsSJqU9988w2lpaXRMW+88QZnnXUWkyZNYuTIkey///7cfffdhEKhbT5HZEnPxx9/3OL2rfUyWr58ORdccAETJkygpKSEI488kjfffHObzxEIBJgwYQKzZ8/e4r6GhgZKSkq4+eabo7c99thjTJ8+ndGjRzN+/HiOPPLIdn9/AMrKynjqqafYe++9t0hIAdhsNs4444xoldTW+m211gNo+PDhXHvttbzyyitMmzaNUaNGceyxx/Ljjz8CMH/+fA444ABKSko46aSTWLNmTYvHb62n00knncRJJ520zdf1ww8/MGvWLPbbbz9KSkrYe++9mT17Nhs2bGgR8y233ALAfvvtF10CFolj0+f/+uuvGT58OM8///wWz7V48WKGDx/O22+/Hb2tvLyc2bNnM3HiREaOHMn06dP5z3/+s82YtyUvL48hQ4awevXqFreHw2EeeeQRpk+fTklJCRMnTuSqq66itra2xbiOzn1o2VMqMue39m9TX331FWeccQa77747o0eP5sQTT+Tzzz/f4vyfffYZv/vd7ygpKWH//fdn/vz57f3ytGC1WpkwYQIAv/76K2B+L88++2w+++wzjjrqKEpKSthvv/20JFJERCSJqFJKRKQbufDCCxk0aBAXX3wxhmEAcOWVV/L888/z29/+ltNOO42lS5dy//33s3z5cu6+++7oY5977jmuuOIKdtxxR84++2yysrL4/vvvWbx4cTTBEy/hcJgff/yR3/3ud1vcV1JSwvvvv09DQwOZmZmtPn7AgAGMGTOGV155hdmzZ7dYZhRJVEVifv7553G73Zx22mm43W4++ugj7rzzThoaGvjzn/8cl9fz888/c9xxx1FUVMQf/vAH3G43r7zyCueddx533XUXBxxwQKuPczgc7L///rz++utcc801Lap03njjDfx+P9OmTQPg6aef5vrrr+e3v/0tJ598Mj6fjx9//JGvvvqq3d+f9957j2Aw2GnLGz/77DPeeuutaGL0gQce4JxzzuHMM8/kiSee4Pjjj6e2tpZ58+ZxxRVX8Oijj8bleT/88EN++eUXjjzySAoLC/n55595+umnWbZsGU8//TQWi4UDDjiAlStX8tJLLzF79uzoMtG8vLwtzldSUsKAAQN45ZVXOOKII1rct3DhQnJycpg0aRIAlZWVHHPMMVgsFk444QTy8vJ47733+Mtf/kJDQ0Oryb/tCQaDlJeXk5OT0+L2q666iueff54jjzwymth7/PHH+e6773jyySdxOBxA/OZ+Xl5eNJG3aWw33nhj9LkAlixZwh/+8AdGjhzJzJkzsVgsPPfcc5xyyik88cQT0QT0jz/+yBlnnEFeXh7nn38+wWCQu+66i/z8/HZ/jTYV6UfXq1ev6G2rVq3iwgsv5KijjuKII47g2WefZdasWey6667suOOOMT2fiIiIxE5JKRGRbmTEiBHMmTMn+v8//PADzz//PEcffXS0/0rkgvmhhx7io48+Ys8996S+vp7rr7+eUaNG8dhjj7VYuhNJbsVTTU0Nfr+fwsLCLe6L3LZ+/fqtJqXATDpde+21LFmyJJoYCIfDLFy4kDFjxjBgwAAA5syZQ1paWvRxxx13HFdddRVPPvkkF198cVyWa/3f//0fffr04dlnn42e7/jjj+e4447j1ltv3WpSCmDatGk8++yzfPDBB+y7777R2xcuXMiAAQMoKSkB4J133mHHHXfkzjvvjDne5cuXA3TaTmelpaW88sor0aq5nJwcrrrqKu69915effXV6Pc1HA5z//33s2bNmjZX2G3L8ccfz+mnn97itt12241LLrmEzz//nHHjxjFixAh22WUXXnrpJfbff//tPu+0adN46KGHqK2tjSaH/H4/b7zxBgcccEA0KXPbbbcRCoVYsGBBNNF13HHHcckllzB37lx+//vft5iHrQkGg1RXVwNmkmvevHlUVFRwwgknRMd89tlnPPPMM9x6660tkpF77LEHZ555Jq+++mr09njNfbfb3WKpHMA111yDx+PhoYceAszfE1dffTV77LEH8+bNi/bl+v3vf8/06dO5/fbbo2PvvPNODMPg8ccfp2/fvgD89re/bXdyNfK1amho4JVXXuGNN95g+PDhDBkyJDqmtLSUxx9/nHHjxgFw8MEHM2XKFJ577rm4JaVFRESk47R8T0SkG/n973/f4v/fffddgGjz5IjIhXvk/g8++IDGxkbOOuusLXrJdEbTZ5/PB7Tevyfy/JExWzNt2jQcDkeLJXyffPIJ5eXlLS5uN70ob2hooLq6mnHjxtHU1MSKFStieh1gJtg++ugjDj744Oj5q6ur2bBhA5MmTWLlypWUl5dv9fF77rknubm5LFy4MHpbbW0tH374YbRKCiA7O5uysjKWLl0ac8wNDQ0AZGRkxHyu1uy1114tkj2jR48G4MADD2yRaIxUzmxvx8W22vR77fP5qK6ujj73t99+26FzTps2jUAgwGuvvRa97YMPPqCuri76/TEMg9dee42pU6diGEZ0DlRXVzNp0iT
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKIAAAK1CAYAAAD7Z0aTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA+ZJJREFUeJzs3Xd4VGXax/HfmZ4OSehNioAFEAQLwqKADQTFXbtgATv2Bq7ruuprW3At2Fn7KuLaVkVRsWHFgmIBBKQIUhIC6dPP+8dJBgIZSMIkZ5J8P9eVi5M5z5xzTzKHzNxzP/djmKZpCgAAAAAAAKhnDrsDAAAAAAAAQPNAIgoAAAAAAAANgkQUAAAAAAAAGgSJKAAAAAAAADQIElEAAAAAAABoECSiAAAAAAAA0CBIRAEAAAAAAKBBkIgCAAAAAABAgyARBQAAAAAAgAZBIgoA0KxNmTJFw4cPtzsM1NDatWvVq1cvvfLKKwk97vDhwzVlypSEHjPZVffc79Wrlx544IEGjeOBBx5Qr169GvScAADAPiSiAAAJ8fDDD+vCCy/U4MGDd/lmtvJN545fffr02eXxf/75Z/Xq1Uv/+te/4o5ZtWqVevXqpTvuuGOPHktTF4lE9PLLL2v8+PE66KCDtP/++2v48OGaOnWqfvzxR7vDqzffffedHnjgARUVFdkdSszw4cOrXAcHHHCA/vKXv+i1116zO7SkM2XKlCo/qwEDBmjs2LF64oknFAwGa328r776Sr169dI777xTD9ECAIB4XHYHAABoGu699161atVK++yzjz799NPdjr/55puVmpoa+97pdO5y/H777adu3brprbfe0pVXXlntmDfffFOSNHbs2FpE3rz4/X5NnjxZ8+fP16BBg3TBBRcoKytL69at09tvv61XX31VH330kdq2bWt3qAm3cOFCzZgxQ+PGjVNmZmaVfe+8844Mw7Alrn322UfnnHOOJCkvL08vvfSSrr/+egWDQZ188skNGsuiRYt2ey3ayePx6LbbbpMkFRcXa+7cubrrrrv0448/7jJJDQAAkgeJKABoYsrKyqokeBrKvHnz1LFjRxUUFOjQQw/d7fijjz5a2dnZtTrHmDFjdN999+n777/XAQccsNP+N998U926ddN+++1Xq+M2J3fffbfmz5+vqVOn6uyzz66yb/LkyXrqqadsictuHo/HtnO3adNGxx9/fOz7E088USNGjNBTTz3V4Ikor9fboOerLZfLVeVndfrpp+ukk07SnDlzNGXKFLVp08bG6AAAQE0wNQ8AGrHKaW7Lly/X1VdfrUGDBun000+XJIXDYT344IMaOXJkbOrVPffcU+0Ulo8//lhnnnmm+vfvrwEDBujPf/6z3njjjVrF0rFjx1rHX1JSItM0azx+zJgxkrZVPm3vp59+0sqVK2Nj3n//fZ1//vkaMmSI9t9/f40cOVIPPvigIpHILs9ROV3nq6++qnJ7vN5EK1as0GWXXaaDDjpIffr00Yknnqh58+bt8hyhUEgHHXSQpk6dutO+kpIS9enTR3fddVfstmeffVajR49Wv379NGjQIJ144om1/v1I0oYNG/Tiiy/qsMMO2ykJJVlVaRMnToxVQ8Xrn1VdT59evXrplltu0dtvv61Ro0apb9++OuWUU7R06VJJ0qxZs3TkkUeqT58+Gj9+vNauXVvl/vF6NI0fP17jx4/f5eNasmSJpkyZohEjRqhPnz467LDDNHXqVG3ZsqVKzHfffbckacSIEbHpXZVxbH/+H3/8Ub169dKrr76607nmz5+vXr166cMPP4zdtnHjRk2dOlWDBw/W/vvvr9GjR+u///3vLmPelezsbHXr1k1r1qypcns0GtVTTz2l0aNHq0+fPho8eLBuuukmFRYWVhlX1+e+VLVHVOVzPt7X9n744QdNnDhRBx54oPr166czzzxT33777U7H/+abb/TnP/9Zffr00ciRIzVr1qza/niqcDgcOuiggyRJ69atk2T9Li+44AJ98803+stf/qI+ffpoxIgRTHcEACBJUBEFAE3A5Zdfri5duujKK6+MJXZuvPFGvfrqqzr66KN1zjnnaNGiRXr00Ue1YsUKPfjgg7H7vvLKK7rhhhu0995764ILLlBGRoYWL16s+fPnx5I69WHEiBGx6q0RI0ZoypQpys3N3eV9OnXqpP79++vtt9/W1KlTq0whqkxOVcb86quvKjU1Veecc45SU1P15Zdf6v7771dJSYmuv/76hDyGZcuW6bTTTlObNm103nnnKTU1VW+//bYuueQSPfDAAzryyCOrvZ/b7dbIkSP13nvv6R//+EeVapz3339fwWBQo0aNkiTNnj1bt912m44++mhNmDBBgUBAS5cu1Q8//FDr388nn3yicDhcb1MXv/nmG33wwQexZOhjjz2mCy+8UJMmTdLzzz+v008/XYWFhZo5c6ZuuOEGPfPMMwk57+eff67ff/9dJ554olq1aqVly5Zp9uzZWr58uWbPni3DMHTkkUdq1apVevPNNzV16lS1bNlSkqqtyuvTp486deqkt99+W+PGjauyb86cOcrKytKQIUMkSfn5+Tr55JNlGIbOOOMMZWdn65NPPtFf//pXlZSUVJvw251wOKyNGzcqKyuryu033XSTXn31VZ144omxZN5//vMf/fLLL3rhhRfkdrslJe65n52dHUvebR/bHXfcETuXJH3xxRc677zztP/++2vy5MkyDEOvvPKKzjrrLD3//PPq27evJGnp0qWaOHGisrOzdemllyocDuuBBx5QTk5OrX9G2/v9998lSS1atIjdtnr1al1++eX6y1/+onHjxunll1/WlClTtN9++2nvvffeo/MBAIA9QyIKAJqA3r17a/r06bHvlyxZoldffVUnnXRSrJ9K5ZvkJ554Ql9++aUOOeQQFRcX67bbblPfvn317LPPVpmWU5tKpdrIzMzUmWeeqQMOOEAej0fffPONnn/+ef344496+eWXlZ6evsv7jxkzRrfccou++OKLWDIgGo1qzpw56t+/vzp16iRJmj59unw+X+x+p512mm666Sa98MILuvLKKxMyFev//u//1K5dO7388sux451++uk67bTTNG3atLiJKEkaNWqUXn75ZX322Wc64ogjYrfPmTNHnTp1ijVv/+ijj7T33nvr/vvv3+N4V6xYIUn1tkLZypUr9fbbb8eq47KysnTTTTfp4Ycf1jvvvBP73UajUT366KNau3ZtnSrpdnT66afr3HPPrXLbAQccoKuuukrffvutBg4cqN69e2vffffVm2++qZEjR+72vKNGjdITTzyhwsLCWEIoGAzq/fff15FHHhlLxPzrX/9SJBLRG2+8EUtunXbaabrqqqs0Y8YMnXrqqVWeh9UJh8MqKCiQZCW2Zs6cqby8PJ1xxhmxMd98841eeuklTZs2rUoC8uCDD9akSZP0zjvvxG5P1HM/NTW1yjQ4SfrHP/6hsrIyPfHEE5Ks/yduvvlmHXzwwZo5c2asz9app56q0aNH6957742Nvf/++2Wapv7zn/+offv2kqwpurVNqFb+rEpKSvT222/r/fffV69evdStW7fYmJUrV+o///mPBg4cKEk69thjNWzYML3yyisJS0QDAIC6YWoeADQBp556apXvP/74Y0mKNUCuVPlmvXL/Z599ptLSUp1//vk79Yapr8bNZ511lv72t79pzJgxOvroo/XXv/5Vd955p1atWqXnn39+t/cfNWqU3G53lel5CxYs0MaNG6u8od3+jXhJSYkKCgo0cOBAlZeX67ffftvjx7F161Z9+eWXOvbYY2PHLygo0JYtWzRkyBCtWrVKGzdujHv/Qw45RC1bttScOXNitxUWFurzzz+PVUNJVuJuw4YNWrRo0R7HXFJSIklKS0vb42NV59BDD62S4OnXr58k6aijjqqSYKyskKmsZNlT2/+uA4GACgoKYuf++eef63TMUaNGKRQK6d13343d9tlnn6moqCj2+zFNU++++66GDx8u0zRjz4GCggINGTJExcXFNTr/p59+qkMPPVSHHnqoxowZo9dff10nnniirrv
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA+t1JREFUeJzs3Xd4VGXax/HfmZ5JIwVCR4qAShHEhrAoYgMb9l7AumJ3FXxd17auuuJasLPqqqvYO/aKigUXxAIISFVKCqmT6ef94zADkQCZMMlMku/nurw8mfPMnHsmZ8iZe+7nfgzTNE0BAAAAAAAAzciW6gAAAAAAAADQ9pCUAgAAAAAAQLMjKQUAAAAAAIBmR1IKAAAAAAAAzY6kFAAAAAAAAJodSSkAAAAAAAA0O5JSAAAAAAAAaHYkpQAAAAAAANDsSEoBAAAAAACg2ZGUAgBA0uTJkzV69OhUh4EGWr16tfr166eXX345qY87evRoTZ48OamPme7qO/f79eun++67r1njuO+++9SvX79mPSYAAEgtklIAgKRZunSp7rjjDh111FEaMmSIRowYofPOO08//PBDvePXrVunSy+9VMOGDdPQoUN14YUXatWqVds8xk8//aR+/frpX//611bHLF++XP369dM//vGPHXo+rV0kEtFLL72k008/XXvttZcGDBig0aNHa8qUKVv9nbUG//vf/3TfffepsrIy1aHEjR49Wv369Yv/t/vuu+u4447Tq6++murQ0s7kyZPrvFZDhw7VkUceqccee0zBYDDhx/v666/Vr18/vfPOO00QLQAA2BZHqgMAALQeL774ol588UUdfPDBOuWUU1RVVaXnnntOJ554oqZPn67hw4fHx9bU1OiMM85QVVWVzj//fDmdTj3xxBM67bTT9OqrryovL6/eY+y2227q1auX3nrrLV1++eX1jnnzzTclSUceeWTyn2Qr4ff7NWnSJM2aNUt77rmnzj//fOXm5uq3337T22+/rVdeeUWffPKJOnbsmOpQk27u3LmaNm2axo8fr5ycnDr73nnnHRmGkZK4dtllF5199tmSpOLiYr3wwgu65pprFAwGdcIJJzRrLPPnz5fdbm/WYybC5XLplltukSRVVVXp3Xff1e23364ffvhhmwlrAACQXkhKAUAr5fP55PV6m/WY48aN06RJk5SZmRm/7dhjj9XYsWN133331UlKPfPMM1q+fLleeOEFDRo0SJI0cuRIHXHEEXr88cd1xRVXbPU4RxxxhO655x7NmzdPu++++xb733zzTfXq1Uu77bZb8p5cK3PHHXdo1qxZmjJlis4666w6+yZNmqQnnngiJXGlmsvlStmxi4qKdNRRR8V/PuaYY3TggQfqiSeeaPaklNvtbtbjJcrhcNR5rU455RQdf/zxmjlzpiZPnqyioqIURgcAABqK6XsA0ArEerEsWbJEV155pfbcc0+dcsopkqRwOKz7779fY8aMiU/Puuuuu+qd5vLpp5/qtNNO05AhQzR06FAde+yxeuONNxocx4ABA+okpCQpLy9Pw4YN06+//lrn9nfffVcDBw6MJ6QkqXfv3tp333319ttvb/M4RxxxhKRNFVGb+/HHH7Vs2bL4mA8++EDnnXeeRowYoQEDBmjMmDG6//77FYlEtnmM2JSer7/+us7tW+tltHTpUl1yySXaa6+9NHDgQB1zzDH68MMPt3mMUCikvfbaS1OmTNliX3V1tQYOHKjbb789fttTTz2lcePGafDgwdpzzz11zDHHJPT7iVm7dq2ee+457bffflskpCTJbrdr4sSJ8SqprfXbqq8HUL9+/XTTTTfp7bff1tixYzVo0CCdeOKJWrRokSRpxowZOuiggzRw4ECdfvrpWr16dZ37b62n0+mnn67TTz99m89r4cKFmjx5sg488EANHDhQ++23n6ZMmaINGzbUifmOO+6QJB144IHxKWCxODY//g8//KB+/frplVde2eJYs2bNUr9+/fTxxx/Hb1u3bp2mTJmi4cOHa8CAARo3bpxefPHFbca8Lfn5+erVq5dWrlxZ5/ZoNKonnnhC48aN08CBAzV8+HBdf/31qqioqDOusee+VLenVOyc39p/m/v+++81ceJE7bHHHho8eLBOO+00fffdd1s8/pw5c3Tsscdq4MCBGjNmjGbMmJHoy1OHzWbTXnvtJUn67bffJFm/y/PPP19z5szRcccdp4EDB+rAAw9kSiQAAGmESikAaEUuvfRS9ejRQ5dffrlM05QkXXfddXrllVd0yCGH6Oyzz9b8+fP18MMPa+nSpbr//vvj93355Zd17bXXauedd9b555+v7OxsLViwQLNmzYoneBqruLhY7dq1i/8cjUa1aNEiHXvssVuMHThwoD7//HNVV1crKyur3sfr1q2bhgwZorfffltTpkypM80olqiKxfzKK6/I6/Xq7LPPltfr1VdffaV7771X1dXVuuaaa3boecUsXrxYJ598soqKinTuuefK6/Xq7bff1kUXXaT77rtPBx10UL33czqdGjNmjN5//33deOONdap0PvjgAwWDQY0dO1aS9Pzzz+uWW27RIYccojPOOEOBQECLFi3S999/n/Dv57PPPlM4HG6y6Y1z5szRRx99FE+MPvLII7rgggt0zjnn6JlnntEpp5yiiooKTZ8+Xddee62efPLJpBz3yy+/1KpVq3TMMceoffv2Wrx4sZ5//nktWbJEzz//vAzD0EEHHaTly5frzTff1JQpU+LTRPPz87d4vIEDB6pbt256++23NX78+Dr7Zs6cqdzcXI0YMUKSVFJSohNOOEGGYejUU09Vfn6+PvvsM/3f//2fqqur603+bU84HNa6deuUm5tb5/brr79er7zyio455ph4Yu+///2vfv75Zz377LNyOp2Sknfu5+fnxxN5m8f2j3/8I34sSZo9e7bOPfdcDRgwQJMmTZJhGHr55Zd15pln6plnnoknoBctWqSJEycqPz9fF198scLhsO677z4VFBQk/BptLtaPbvN/a1asWKFLL71Uxx13nMaPH6+XXnpJkydP1m677aadd955h44HAAB2HEkpAGhF+vfvr6lTp8Z/XrhwoV555RUdf/zx8f4rsQ/Mjz32mL766ivts88+qqqq0i233KJBgwbpqaeeqjN1J5bcaqw5c+Zo3rx5uvDCC+O3lZeXKxgMqn379luMj922fv36rSalJCvpdNNNN2n27NnxxEA0GtXMmTM1ZMgQdevWTZI0depUeTye+P1OPvlkXX/99Xr22Wd1+eWXJ2W61t///nd16tRJL730UvzxTjnlFJ188sm68847t5qUkqSxY8fqpZde0hdffKEDDjggfvvMmTPVrVs3DRw4UJL0ySefaOedd9a99967w/EuXbpUkppspbNly5bp7bffVteuXSVJubm5uv766/Xggw/qnXfeif9eo9GoHn74Ya1evTo+dkeccsopmjBhQp3bdt99d11xxRX67rvvNGzYMPXv31+77rqr3nzzTY0ZM2a7xx07dqwee+wxVVRUxJNDwWBQH3zwgQ466KB4UuZf//qXIpGI3njjjXii6+STT9YVV1yhadOm6aSTTqpzHtYnHA6rrKxMkpXkmj59uoqLi3XqqafGx8yZM0cvvPCC7rzzzjrJyL333lvnnHOO3nnnnfjtyTr3vV5vnalyknTjjTfK5/Ppsccek2T9O3HDDTdo77331vTp0+N9uU466SSNGzdOd999d3zsvffeK9M09d///ledO3eWJB1yyCEJJ1djr1V1dbXefvttffDBB+rXr5969eoVH7Ns2TL997//1bBhwyRJhx12mEaNGqWXX345aUlpAADQeEzfA4BW5KSTTqrz86effipJ8ebJMbEP7rH9X3zxhWpqanTeeedt0UtmR5o+l5aW6sorr1TXrl11zjnnxG8PBAKS6u/fEzt+bMzWjB07Vk6ns84Uvm+++Ubr1q2r8+F28w/l1dXVKisr07Bhw1RbW7vFlMLGKC8v11dffaXDDjss/vhlZWXasGGDRowYoeXLl2vdunVbvf8+++yjvLw8zZw5M35bRUWFvvz
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKcAAAK1CAYAAAAdTo3XAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA/i9JREFUeJzs3Xd8FHX+x/HXbE+HFHoHAZUiig1RFDkFseHv7B0V9cSOHnrK2c5Tzy6eopy9YDnLiQW74tkV9QSRIkV6CmTTts/vj8kuJLRsWDLJ5v18PHgw2ZnMfHZmN9n55PP9fA3TNE1ERERERERERERs4LA7ABERERERERERab2UnBIREREREREREdsoOSUiIiIiIiIiIrZRckpERERERERERGyj5JSIiIiIiIiIiNhGySkREREREREREbGNklMiIiIiIiIiImIbJadERERERERERMQ2Sk6JiIiIiIiIiIhtlJwSERGxWb9+/XjggQfsDkMa6IEHHqBfv34p3edXX31Fv379+Oqrr1K63+au/mv/lVdeoV+/fqxYsaJJ4xg5ciSTJ09u0mOKiIjIRkpOiYhIs/Xss8/yyiuvpHy/I0eOpF+/fpv9mzJlyja/75ZbbqFfv34sW7Zsq9vcc8899OvXj/nz56c67LRSUlLC7bffzujRoxk8eDB77LEHxx13HP/85z/x+/12h7fT7KzXdGPFk2Lxf7vuuiv7778/l1xyCYsXL7Y7vGZn03PVv39/hg8fzvjx4xudVJw8eTJDhgxJcZQiIiItj8vuAERERLbm+eefp23bthx33HEp3/euu+7K2WefXeexnj17bvN7jjrqKJ5++mneeOMNJk6cuMVtZs6cSd++fenfv3/KYk03P/30ExMmTKC6upqjjz6a3XffHYCff/6ZRx99lG+//ZbHHnvM5ih3jq29pvfee29++ukn3G63LXGdfvrpDBw4kEgkwq+//sqMGTP46quvmDlzJkVFRU0WxzHHHMPYsWPxeDxNdsxkHXDAARxzzDGYpsmKFSt4/vnnOfPMM5k2bRojRoywOzwREZEWSckpERFJC9XV1WRmZjZ4+/bt23PMMcckdYzBgwfTvXt33nzzzS0mp+bMmcOKFSu48sork9pva+L3+5k4cSJOp5NXX32V3r1711l/+eWX8+KLL9oUnX0cDgder9e24w8dOpTRo0cnvu7Zsyc33HADr732Guedd16TxeF0OnE6nU12vMbo0aNHnZ8df/jDHzj66KN56qmnlJwSERFpJA3rExGRlIj34Vm2bBmTJ09m6NCh7LXXXlxzzTXU1NTU2fbf//43Z5xxBvvvvz8DBgzgiCOO4LnnnquzzciRI1m4cCFff/11YhjN6aefDmzsS/P1119zww03sP/++zfqpjAUClFdXZ3U9xx11FH89ttvzJ07d7N1M2fOxDAMjjzySEKhEPfddx/HHXcce+21F3vssQennHIKX3755XaPMXnyZEaOHLnZ41vrdfT6669z3HHHMWjQIPbZZx8uv/xyVq9evc1jvPPOO4lzWN+MGTPo168fCxYsAKC4uJhrrrmGgw46iAEDBjB8+HAuvPDCRvUFmjFjBmvXrmXy5MmbJaYACgsL+dOf/pT4emv9uOr3CIq/Jr799ltuueUW9ttvP4YOHcqUKVMIhUL4/X6uvvpq9t57b/bee2/uuOMOTNNMfP/Wej6tWLGCfv36bXco3o6+pusf/6abbmLIkCGbvXcArrjiCg444ACi0WjisU8++YRTTjmFPfbYgyFDhjBhwgQWLly4zZi3ZejQoQD8/vvvdR5fu3Yt11xzDcOGDWPAgAGMHTuWl19+uc42O/Lar99zKv6a39K/Ta9/LBbjiSeeYOzYsQwcOJBhw4YxZcoUysvL6+zfNE3++c9/ctBBBzF48GBOP/30HTpPYL1G27Ztm4g5fi3feustHnroIQ466CAGDhzImWeeuc0hwSIiIq2ZKqdERCSlLrvsMrp06cIVV1zBvHnzeOmll8jPz+eqq65KbPP888+zyy67MHLkSFwuFx999BE33ngjpmly6qmnAnDttddy8803k5mZyQUXXABYiYtN3XjjjeTn53PRRRclnWT68ssv2WOPPYhGo3Tu3JkzzzyTM888c7vfd9RRRzF16lRmzpyZGI4GEI1Gefvttxk6dCidOnWirKyMl156iSOPPJLjjz+eqqoqXn75Zc4991xeeukldt1116Ti3ZqHHnqI++67jzFjxvDHP/6RsrIynnnmGU499VRee+01cnNzt/h9Bx98MJmZmbz99tvss88+dda99dZb7LLLLvTt2xeAiy++mEWLFnHaaafRuXNnysrK+O9//8vq1avp0qVLUvF++OGH+Hw+Dj/88MY94e245ZZbKCws5OKLL+bHH3/khRdeICcnhzlz5tCxY0cuv/xyPv30U/71r3/Rt29fjj322JQcN1Wv6bgjjjiCZ599lo8//pgxY8YkHq+pqeGjjz5i3LhxiQqj1157jcmTJzN8+HAmTZpETU0Nzz//PKeccgqvvvpq0tcIYOXKlQB1Xj8lJSWccMIJGIbBqaeeSn5+Pp9++il/+ctfqKys5KyzzgKgsrIyZa/9P/zhD3Tr1q3OY3PnzuXJJ58kPz8/8diUKVN49dVXOe644zj99NNZsWIFzz77LPPmzeP5559PDJe87777eOihhxgxYgQjRoxg7ty5jB8/nnA4nPQ5iisvL8fv99O9e/c6jz/66KMYhsH48eOprKxk+vTpTJo0iZdeeqnRxxIREUlXSk6JiEhK7brrrtx6662Jrzds2MDLL79cJzn1zDPP4PP5El+fdtppnHPOOTz++OOJG/lRo0Zx77330rZt260Ov8vLy+OJJ55IehhQ37592WuvvejZsycbNmzg1Vdf5dZbb2XdunV14tySHj16MHDgQN566y2uuuoqHA6rCPnzzz+ntLSUSy+9NBHbhx9+WKd3zgknnMCYMWN4+umn65yjxlq5ciUPPPAAl112WSLZAXDYYYcxbtw4nnvuuTqPb8rn8zFy5EhmzZrFddddlziHxcXFfPPNN4lhi36/nzlz5nD11VdzzjnnJL7//PPPb1TMv/32Gz169NhpPYUKCgoSSYFTTz2V5cuX869//YsTTzyRG2+8EYATTzyRkSNH8u9//ztlyalUvabj9tprL9q3b8/bb79dJzn18ccfU11dzRFHHAFAVVUVf/vb3zj++OO5+eabE9uNGzeO0aNHM23atDqPb01VVRVlZWWJnlO33norhmFw2GGHJba55557iEajvPHGG7Rt2xaAk08+mSuuuIKpU6dy0kkn4fP5Uvra79+/f53+bWVlZdx777307ds38Rr99ttveemll7jzzjs56qijEtvuu+++nHvuubzzzjscddRRlJWVMX36dA4++GAefvhhDMNIPK+HH364wTEFg0HKysoAq7Lu7rvvJhqN1hkWGd/utddeS5yH3Nxc/va3v7FgwYJE4ldEREQsGtYnIiIpddJJJ9X5eujQoWzYsIHKysrEY5vexFdUVFBWVsY+++zD77//TkVFRYOPdcIJJzSqP83DDz/Meeedx6hRo/jjH//IM888w/Dhw3niiSdYs2bNdr//6KOPZs2aNXzzzTeJx2bOnInb7U7coDqdzsRNaSwWY8OGDUQiEQYMGMC8efOSjnlL3nvvPWKxGGPGjKGsrCzxr7CwkO7du293BrExY8ZQWlpaZ2jfrFmziMViieSHz+fD7Xbz9ddfbzZEqjEqKyvJysra4f1szR//+MdE0gFg0KBBmKbJH//4x8RjTqeTAQMGbDZkbUek6jUdZxgGo0eP5pNPPqGqqirx+Ntvv0379u3Za6+9ACsp6vf7GTt2bJ3XgMPhYPDgwQ2eRe7aa69l//3358ADD+Tcc8+loqKCO+64g0GDBgHWcLh3332XkSNHYppmnWMNHz6cioqKxFDXnfXaj0ajXHnllVRVVfHggw8mesy988475OTkcMABB9SJa/fddyczMzNxDj7//HPC4TCnnXZanddIQyomN/Xyyy+z//77s//++3P88cfz/fffc/bZZ2+
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKYAAAK1CAYAAADyjObpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VGXax/HvmZ5JgxQCAQQEQZQuFhBEsSGou6yra+9rReyKrqsiLisqigpWdnX1VRDLrmvDvoiLfcGOgFKUmkLqZPp5/5jMQCBAyiSTzPw+15WLkzlnzrlnngzJ3HM/92OYpmkiIiIiIiIiIiLSyiyJDkBERERERERERFKTElMiIiIiIiIiIpIQSkyJiIiIiIiIiEhCKDElIiIiIiIiIiIJocSUiIiIiIiIiIgkhBJTIiIiIiIiIiKSEEpMiYiIiIiIiIhIQigxJSIiIiIiIiIiCaHElIiIiIiIiIiIJIQSUyIiIm3Yyy+/TL9+/fj1118THYo00NixY5kyZUpczzllyhTGjh0b13O2dfX97J911lmcddZZrRrHp59+Sr9+/fj0009b9boiIiKpQokpERFpU5599llefvnluJ/3jTfe4LrrruOYY46hX79+DX5z+8gjj9CvXz+OP/743R4XCAQ4+OCDOe2003Z5jGmajBkzhokTJzYq9lT06aefMmnSJA499FAGDBjAiBEjuOSSS3j77bcTHVqL2bx5Mw899BA//PBDokOJmTJlCv369Yt9DRgwgGOPPZYHHngAn8+X6PDalGgiLfo1cOBAjj32WO644w6Ki4ubdM5+/fpxxx13xDlSERGRtsWW6ABERES2N2/ePDp27Mjvfve7uJ/322+/ZeDAgZSVlTXoPps2beKxxx7D7Xbv8Vi73c64ceN4/vnnWb9+PV27dt3pmM8//5xNmzZx7rnnNjL61PLggw8yZ84cevbsyR/+8AcKCwspKytj0aJFXHHFFdx7772ccMIJiQ4z7rZs2cLs2bPp2rUr/fv3r7Nv2rRpmKaZkLgcDgd33nknAFVVVbz33ns8/PDDrFu3jpkzZ7ZqLH/7299a9XpNMXnyZLp164bf7+fLL79k3rx5LFq0iNdee420tLREhyciItLmKDElIiLtlsfjaVDSCODuu++moKAAi8Wyx+qnqBkzZjB48GDC4TBbt27d4/EnnHAC8+fP5/XXX+eiiy7aaf9rr72GxWJh/PjxDbp+Klq4cCFz5szh2GOPZebMmdjt9ti+Cy+8kMWLFxMMBhMYYWJs/zy0NpvNxm9+85vY96effjqnnnoqr7/+OjfddBN5eXmtFovD4Wi1azXVYYcdxsCBAwE4+eST6dChA08++STvvfdeg//vERERSSWayiciIk320EMP0a9fP9auXcuUKVMYPnw4BxxwADfddBM1NTV1jn3ppZc4++yzGTFiBAMGDGD8+PE899xzdY4ZO3YsK1eu5LPPPotNh4lOuYtOk/nss8+4/fbbGTFiBGPGjGlwrF26dMFiafivvc8//5y33nqLm2++ucH3OeCAA+jatSuvvvrqTvsCgQBvvfUWBx98MAUFBSxfvpwpU6Zw5JFHMnDgQA499FBuuummBiXA+vXrx0MPPbTT7fX1NqqoqOAvf/kLY8aMYcCAARx99NE8/vjjhMPh3V7j4osv5sgjj6x33x/+8Ic6FW3//e9/Oe200xg+fDhDhw7l2GOP5b777tvj46jPAw88QIcOHZg+fXq9yZjRo0dzxBFHALvuv1VfT6CzzjqL448/nuXLl3PmmWcyePBgjj76aBYuXAjAZ599xsknn8ygQYM49thjWbJkSZ1z7qrHU/Q1sDtlZWXMmDGDE044gaFDhzJs2DAuvPBCli9fXifm3//+9wDcdNNNsZ//6LTW7a8fCAQ46KCDuOmmm3a6VlVVFQMHDmTGjBmx2/x+Pw8++CBHH300AwYMYMyYMdx99934/f7dxr0rhmEwbNgwTNPkl19+qbNv0aJFnH766QwZMoShQ4dy0UUXsXLlyjrHNOdnf8ceU2PHjq0zfW77r+3Hf/Pmzdx0002MHDmSAQMGMGHCBF588cWdzr9p0yYuu+wyhgwZwogRI5g+fXqTn6eoQw45BCD2czplyhSGDh3K5s2bueyyyxg6dCiHHHIIM2bMIBQKNetaIiIi7ZEqpkREpNmuuuoqunXrxjXXXMP333/PCy+8QE5ODtdff33smHnz5rHPPvswduxYbDYbH3zwAVOnTsU0Tc444wwAbr75ZqZNm4bb7eaSSy4B2KkaY+rUqeTk5HD55Zfj8Xha5PGEQiGmTZvG73//+z0mHbZnGAYnnHACjz76KCtXrmSfffaJ7Vu8eDFlZWWxKWhLlizhl19+4Xe/+x35+fmsXLmSBQsWsGrVKhYsWIBhGM1+HDU1NZx55pls3ryZU089lS5durB06VLuu+8+ioqK+NOf/rTL+x533HHceOONfP311wwaNCh2+/r161m2bBk33HADACtXruTiiy+mX79+TJ48GYfDwdq1a/nf//7X6HjXrFnDzz//zEknnURGRkbjH/AelJeXc8kllzB+/HjGjRvHvHnzuOaaawiHw0yfPp1TTz2V448/nr/97W9MnjyZ//znP3GJ45dffuHdd99l3LhxdOvWjeLiYp5//nnOPPNMXn/9dQoKCujduzeTJ0/mwQcf5A9/+AMHHHAAAMOGDdvpfHa7naOOOop33nmHqVOn1qkievfdd/H7/bGqvHA4zKWXXsqXX37JKaecQu/evVmxYgX/+Mc/WLNmDQ8//HCTHtP69esByMrKit32r3/9iylTpjBq1Ciuu+46ampqmDdvHqeffjr//Oc/6datGxDfn/2bb76Z6urqOrf94x//4IcffqBDhw4AFBcXc8opp2AYBmeccQY5OTl8+OGH/OlPf6Kqqio2tdbr9XLOOeewceNGzjrrLDp16sQrr7zCJ5980qTnKGrdunUAsXgg8n/MBRdcwKBBg7jhhhv4+OOP+fvf/0737t05/fTTm3U9ERGR9kaJKRERabb+/fszffr02PdlZWW8+OKLdRJT//d//4fL5Yp9f+aZZ3LBBRfw5JNPxhJTRx11FLNmzaJjx451pg5tLzs7m6eeegqr1dpCjwbmz5/Phg0beOqppxp932hi6tVXX+Waa66J3f7aa6/hdDo59thjgch0qPPPP7/OfYcMGcI111zDl19+yfDhw5v1GACefPJJfvnlF/75z3/Ss2dPAE499VQ6derE3/72N84//3y6dOlS732POuooHA4Hb775Zp3E1JtvvolhGBx33HFApFoqEAjwxBNPkJOT06x4f/rpJwD69u3brPPsypYtW5g5c2ZsOtXIkSM57rjjuPbaa5k/fz6DBw8GoHfv3lxwwQW8/fbbcel11q9fP9566606FXu/+c1vOO6443jxxRe5/PLLycvL47DDDuPBBx9kyJAhu/z5jxo/fjwvvfQS//3vf2MVZBBp8t+9e/fYVLJXX32VJUuW8Mwzz9T5mdpnn3247bbb+N///ldv8mtHpaWlQKQi69133+Xtt9+mb9++7L333gBUV1fzl7/8hZNPPplp06bF7jdx4kTGjRvHY489Frs9nj/7Rx11VJ3v33zzTb777jsmT54cSyrff//9hEIhXn31VTp27AjAaaedxjXXXMPs2bM59dRTcblcPP/886xZs4ZZs2bFfr5POeWUPY7FjqqqqigtLcXv9/O///2POXPm4HK56oyTz+fjuOOO4/LLL4/FM3HiRF588UUlpkREJOVoKp+IiDTbqaeeWuf74cOHU1ZWRlVVVey27ZNSlZWVlJaWctBBB/HLL79QWVnZ4GudcsopLZqU2rp1Kw8++CCXXXZZkxItffr0Yb/99uP111+P3ebxeHj//fc5/PDDYxU42z8fPp+P0tLSWGLku+++a+ajiFi4cCEHHHAAWVlZlJaWxr5GjhxJKBTi888/3+V9MzIyOOyww3jzzTfrNN1+4403GDJkCIWFhcC2ipn33ntvj9MD9yT685Kent6s8+yK2+1mwoQJse/33ntvsrKy6N27d+y5B2L
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 1200x700 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAK1CAYAAAAZu13qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd4VHX2x/H3nZoeSKGE3lEBaTYEUayI2Hata1uxLqxrF9FVFH+2FSt27LqirhUbuqCIuyrqUlSwoPQmSSBlJpl6f3/czEAgQMqUTPi8nofHy8zNvWeGO3HmzDnna5imaSIiIiIiIiIiIpJAtmQHICIiIiIiIiIiex4lpUREREREREREJOGUlBIRERERERERkYRTUkpERERERERERBJOSSkREREREREREUk4JaVERERERERERCThlJQSEREREREREZGEU1JKREREREREREQSTkkpERERERERERFJOCWlRERE6vDVV1/Rp08fvvrqq2SHIvV09tlnc/bZZ8f0mA899BB9+vSJ6TGbu7qu/YkTJzJq1KiExrFmzRr69OnDG2+8kdDzioiISOI4kh2AiIg0Dy+99BLp6emcfPLJMTvm5s2bef311/nkk0/49ddfCQaDdO/enfPOO49jjz221r4ej4ennnqKRYsW8d1331FWVsYdd9xRr3jGjh1LRUUFn3zyCYZh1LnP6aefzqpVq/jss89wOPS/v51ZunQpTz31FF9//TUlJSVkZGSw9957M3bsWE488UTsdnuyQ4y5qqoqpk+fzv77788BBxyQ7HAAKxk2bdq06N8dDgdt27Zl1KhRXHbZZeTk5CQxuublq6++4pxzzon+3eFw0K5dO4YMGcJf//pXOnXq1OBjjho1il69evH444/HMlQRERHZjt6Vi4gIAC+//DKtW7eOaVJq4cKF3H///RxyyCFceumlOBwOZs2axRVXXMGyZcu47LLLovtu3ryZhx9+mKKiIvr06cP8+fPrfZ6xY8cydepUvvnmG/bbb78d7l+zZg0LFy7krLPOUkJqF1577TVuvvlm8vPzOeGEE+jSpQsej4cvv/ySG264gU2bNnHJJZckO8yYq6qqYtq0aUyYMGGHpNSll17KRRddlKTIYPLkyWRkZFBVVcUXX3zBCy+8wA8//MDLL7+c0DimTJmCaZoJPWdDnX322fTv359gMMiSJUt45ZVXmDt3Lu+88w5t27ZNdngiIiJSB70zFxGRBvN6vWRkZOx2v549ezJr1iw6dOgQve3MM8/kvPPO48knn+SCCy6IHqdNmzZ8/vnnFBYW8t133/HHP/6x3vGMHTuWe++9l5kzZ9aZlHrvvfcwTZOxY8fW+5h7moULF3LzzTczcOBAnnjiCbKysqL3nXfeeXz33Xf88ssvSYwwORwOR1ITmUcffTR5eXmAVe13xRVX8P7777N48WIGDBiQsDicTmfCztVYQ4cO5ZhjjgHgD3/4A127duW2227jrbfe4uKLL05ydCIiIlIXzZQSEUlBkTk3K1euZOLEiQwdOpQhQ4Zw/fXXU1VVVWvf119/nXPOOYeDDjqIfv36ceyxx/LPf/6z1j6jRo3il19+Yf78+fTp04c+ffpEZ/O88cYb0cqlyZMnc9BBBzFy5Mh6xdmpU6daCSkAwzA44ogj8Pv9rF69Onq7y+WisLCwMU8H7du3Z7/99mPWrFkEAoEd7n/33Xfp3Lkz++67L2vXrmXy5MkcffTRDBgwgAMOOIDLLruMNWvW7PY8o0aNYuLEiTvcXtcsI7/fz4MPPsiRRx5Jv379GDlyJHfffTd+v3+X57j11lsZNGjQDv+OAFdeeSUHH3wwoVAIgO+++45x48ZxwAEHMGDAAEaNGsX111+/28dRl2nTpmEYBvfcc0+thFRE//79o1V0O5u3VdcMoIkTJzJo0CDWrVvHxRdfzKBBgxgxYgQvvfQSAD/99BPnnHMOAwcO5LDDDmPmzJm1jrmzmU6R63JX/25+v58HHniAk08+mSFDhjBw4EDOPPNMvvzyy1oxH3TQQdHnIHL9P/TQQ3We/7jjjqtzblU4HGbEiBG1qv/C4TDPPvssY8aMoX///gwbNoybbrqJsrKynca8O0OHDgVg1apVtW5ftGgR48aNY8iQIey7776cddZZfPvtt7X2acq1v/1MqbPPPjv6XG3/Z9t///Lycv7v//6PkSNH0q9fP4488kieeOIJwuFwreOXl5czceJEhgwZwtChQ7nuuuuoqKho8POzrQMPPBAg+vga8ntTREREEkOVUiIiKezyyy+nY8eOXHnllSxZsoTXXnuNvLw8rrnmmug+L7/8Mr169WLUqFE4HA4++eQTbrnlFkzT5E9/+hMAkyZNYsqUKWRkZETbswoKCmqd65ZbbiEvL4/x48fj9XqbFHdxcTEArVu3btJxtjV27Fj+/ve/8/nnn3PYYYdFb//pp5/4+eefGT9+PGAlchYsWMCYMWNo164da9eu5eWXX+acc87hvffeIz09vcmxhMNhLr30Ur799ltOPfVUevTowc8//8xzzz3HihUreOSRR3b6s8ceeywvvfQSn376KaNHj47eXlVVxSeffMJJJ52E3W6npKSEcePG0bp1ay666CJycnJYs2YNH3/8cYPjraqq4ssvv2To0KEUFRU16jHvSigU4sILL2To0KFcffXVzJw5k1tvvZX09HTuu+8+xo4dy1FHHcWMGTO47rrrGDhwYKPmAG2vsrKS1157jeOOO45TTjkFj8fDv/71Ly644AJee+019tprL/Ly8pg8eTKTJ0/myCOP5MgjjwTY6XDz0aNHM23aNDZt2lQrifrtt9/y+++/15qVdtNNN/Hmm29y8sknc/bZZ7NmzRpeeukllixZwssvv9yo6qNIgmXbmVJffPEFF154If369WPChAkYhsEbb7zBueeeyz//+c9oRVUsr/1LLrlkh2rGd955h88//5z8/HzAuq7OOussNm7cyOmnn0779u1ZsGAB9957L5s2beKGG24AwDRN/vKXv/Dtt99y+umn06NHDz7++GOuu+66Bj8/24ok7lq1alXr9vr83hQREZHEUFJKRCSF7bXXXtx+++3Rv2/ZsoV//etftT5cvfjii6SlpUX/ftZZZzFu3DieeeaZaFLqiCOO4P7776d169accMIJdZ4rNzeXZ599tsmDrrds2cJrr73G0KFDadOmTZOOta2jjz6aKVOm8O6779ZKSr377rsA0da9Qw89NNriE3HYYYdx2mmnMWvWLE488cQmxzJz5kz++9//8sILL0QrWwB69erFzTffzP/+9z8GDx5c588OGTKEtm3b8sEHH9RKSn366ad4vd5o0mPBggWUlZXx1FNP0b9//+h+V1xxRYPjXblyJYFAgN69ezf4Z+vD5/Nx/PHHR1uoxo4dy4gRI5g0aRL33ntv9DENGzaM0aNH89Zbb/HXv/61yefNzc1lzpw5uFyu6G2nnnoqo0eP5oUXXuD2228nIyODo48+msmTJ9OnT5+dXv8Rxx57LA8++CCzZs3irLPOit7+/vvvk5GRwaGHHgrAN998w2uvvcY999xTq230gAMO4IILLuDDDz+sVztppKoqkjj85z//SV5eXrRN1TRNJk+ezAEHHMD06dOjg/5PP/10xowZw/3338/TTz8NxPbaP/jgg2v9/X//+x9fffUVf/jDH6KVlM888wyrV6/mzTffpGvXrtG42rRpw1NPPcX5559P+/btmT17Nl9//TXXXHMNF1xwAQBnnHFGreHl9eHxeCgtLSUYDLJ06VL+7//+D8MwOOqoo2rtV5/fmyIiIpIYat8TEUlhp59+eq2/Dx06lC1btlBZWRm9bduEVEVFBaWlpey///6sXr26Qe0xp556apMTUuFwmKuvvpry8nL+/ve/N+lY28vNzWXkyJHMmTMnWsllmibvvfce/fr1o1u3bkDt5yMQCLB582Y6d+5MTk4OS5YsiUksH374IT169KB79+6UlpZG/0TaibZve9uWYRgcc8wxzJ07F4/HE739gw8+oG3btgwZMgSA7OxswEpW1dWy2BCR6yUzM7NJx9m
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"所有指标的分析图表已生成。\n"
]
}
],
"execution_count": 20
}
],
"metadata": {
"kernelspec": {
"display_name": "quant",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}