diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1f6f06f8b886..1cec6d94c1c3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,6 +21,7 @@ repos: rev: 6.3.0 hooks: - id: pydocstyle + additional_dependencies: [tomli] name: pydocstyle entry: pydocstyle language: python diff --git a/openbb_platform/dev_install.py b/openbb_platform/dev_install.py index b5ac73e36ff0..a71a067b6dfc 100644 --- a/openbb_platform/dev_install.py +++ b/openbb_platform/dev_install.py @@ -34,7 +34,7 @@ openbb-fixedincome = { path = "./extensions/fixedincome", develop = true } openbb-news = { path = "./extensions/news", develop = true } openbb-regulators = { path = "./extensions/regulators", develop = true } -openbb-stocks = { path = "./extensions/stocks", develop = true } +openbb-equity = { path = "./extensions/equity", develop = true } # Community dependencies openbb-alpha-vantage = { path = "./providers/alpha_vantage", optional = true, develop = true } diff --git a/openbb_platform/extensions/charting/integration/test_charting_api.py b/openbb_platform/extensions/charting/integration/test_charting_api.py index cb87ada8de8b..8f8434bf088b 100644 --- a/openbb_platform/extensions/charting/integration/test_charting_api.py +++ b/openbb_platform/extensions/charting/integration/test_charting_api.py @@ -13,7 +13,9 @@ def headers(): return get_headers() -data = {} +# pylint:disable=redefined-outer-name + +data: dict = {} def get_headers(): @@ -29,12 +31,12 @@ def get_headers(): return data["headers"] -def get_stocks_data(): - """Get stocks data.""" +def get_equity_data(): + """Get equity data.""" if "stocks_data" in data: return data["stocks_data"] - url = "http://0.0.0.0:8000/api/v1/stocks/load?symbol=AAPL&provider=fmp" + url = "http://0.0.0.0:8000/api/v1/equity/price/historical?symbol=AAPL&provider=fmp" result = requests.get(url, headers=get_headers(), timeout=10) data["stocks_data"] = result.json()["results"] @@ -54,12 +56,12 @@ def get_stocks_data(): ], ) @pytest.mark.integration -def test_chart_stocks_load(params, headers): - """Test chart stocks load.""" +def test_chart_equity_price_historical(params, headers): + """Test chart equity load.""" params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/load?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/price/historical?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -77,12 +79,12 @@ def test_chart_stocks_load(params, headers): [({"symbol": "AAPL", "limit": 100, "chart": True})], ) @pytest.mark.integration -def test_chart_stocks_multiples(params, headers): - """Test chart stocks multiples.""" +def test_chart_equity_fundamental_multiples(params, headers): + """Test chart equity multiples.""" params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/multiples?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/multiples?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -100,12 +102,12 @@ def test_chart_stocks_multiples(params, headers): [({"provider": "yfinance", "symbols": "AAPL", "limit": 20, "chart": True})], ) @pytest.mark.integration -def test_chart_stocks_news(params, headers): - """Test chart stocks news.""" +def test_chart_equity_news(params, headers): + """Test chart equity news.""" params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/news?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/news?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -137,7 +139,7 @@ def test_chart_stocks_news(params, headers): def test_chart_ta_adx(params, headers): """Test chart ta adx.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/adx?{query_str}" @@ -161,7 +163,7 @@ def test_chart_ta_adx(params, headers): def test_chart_ta_aroon(params, headers): """Test chart ta aroon.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/aroon?{query_str}" @@ -196,7 +198,7 @@ def test_chart_ta_aroon(params, headers): def test_chart_ta_ema(params, headers): """Test chart ta ema.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/ema?{query_str}" @@ -231,7 +233,7 @@ def test_chart_ta_ema(params, headers): def test_chart_ta_hma(params, headers): """Test chart ta hma.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/hma?{query_str}" @@ -267,7 +269,7 @@ def test_chart_ta_hma(params, headers): def test_chart_ta_macd(params, headers): """Test chart ta macd.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/macd?{query_str}" @@ -303,7 +305,7 @@ def test_chart_ta_macd(params, headers): def test_chart_ta_rsi(params, headers): """Test chart ta rsi.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/rsi?{query_str}" @@ -338,7 +340,7 @@ def test_chart_ta_rsi(params, headers): def test_chart_ta_sma(params, headers): """Test chart ta sma.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/sma?{query_str}" @@ -373,7 +375,7 @@ def test_chart_ta_sma(params, headers): def test_chart_ta_wma(params, headers): """Test chart ta wma.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/wma?{query_str}" @@ -408,7 +410,7 @@ def test_chart_ta_wma(params, headers): def test_chart_ta_zlma(params, headers): """Test chart ta zlma.""" params = {p: v for p, v in params.items() if v} - body = json.dumps(get_stocks_data()) + body = json.dumps(get_equity_data()) query_str = get_querystring(params, []) url = f"http://0.0.0.0:8000/api/v1/ta/zlma?{query_str}" diff --git a/openbb_platform/extensions/charting/integration/test_charting_python.py b/openbb_platform/extensions/charting/integration/test_charting_python.py index a6e7a982ad50..4ee67f3a9534 100644 --- a/openbb_platform/extensions/charting/integration/test_charting_python.py +++ b/openbb_platform/extensions/charting/integration/test_charting_python.py @@ -5,20 +5,23 @@ from openbb_core.app.model.obbject import OBBject +# pylint:disable=inconsistent-return-statements @pytest.fixture(scope="session") def obb(pytestconfig): """Fixture to setup obb.""" if pytestconfig.getoption("markexpr") != "not integration": - import openbb + import openbb # pylint:disable=import-outside-toplevel return openbb.obb -data = {} +# pylint:disable=redefined-outer-name +data: dict = {} -def get_stocks_data(): - """Get stocks data.""" + +def get_equity_data(): + """Get equity data.""" import openbb # pylint:disable=import-outside-toplevel if "stocks_data" in data: @@ -27,7 +30,7 @@ def get_stocks_data(): symbol = "AAPL" provider = "fmp" - data["stocks_data"] = openbb.obb.stocks.load( + data["stocks_data"] = openbb.obb.equity.price.historical( symbol=symbol, provider=provider ).results return data["stocks_data"] @@ -46,9 +49,9 @@ def get_stocks_data(): ], ) @pytest.mark.integration -def test_chart_stocks_load(params, obb): - """Test chart stocks load.""" - result = obb.stocks.load(**params) +def test_chart_equity_price_historical(params, obb): + """Test chart equity price historical.""" + result = obb.equity.price.historical(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -63,11 +66,11 @@ def test_chart_stocks_load(params, obb): ], ) @pytest.mark.integration -def test_chart_stocks_multiples(params, obb): - """Test chart stocks multiples.""" +def test_chart_equity_fundamental_multiples(params, obb): + """Test chart equity multiples.""" params = {p: v for p, v in params.items() if v} - result = obb.stocks.multiples(**params) + result = obb.equity.fundamental.multiples(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -89,11 +92,11 @@ def test_chart_stocks_multiples(params, obb): ], ) @pytest.mark.integration -def test_chart_stocks_news(params, obb): - """Test chart stocks news.""" +def test_chart_equity_news(params, obb): + """Test chart equity news.""" params = {p: v for p, v in params.items() if v} - result = obb.stocks.news(**params) + result = obb.equity.news(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -121,7 +124,7 @@ def test_chart_ta_adx(params, obb): """Test chart ta adx.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.adx(**params) assert result @@ -150,7 +153,7 @@ def test_chart_ta_aroon(params, obb): """Test chart ta aroon.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.aroon(**params) assert result @@ -180,7 +183,7 @@ def test_chart_ta_ema(params, obb): """Test chart ta ema.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.ema(**params) assert result @@ -210,7 +213,7 @@ def test_chart_ta_hma(params, obb): """Test chart ta hma.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.hma(**params) assert result @@ -241,7 +244,7 @@ def test_chart_ta_macd(params, obb): """Test chart ta macd.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.macd(**params) assert result @@ -272,7 +275,7 @@ def test_chart_ta_rsi(params, obb): """Test chart ta rsi.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.rsi(**params) assert result @@ -302,7 +305,7 @@ def test_chart_ta_sma(params, obb): """Test chart ta sma.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.sma(**params) assert result @@ -332,7 +335,7 @@ def test_chart_ta_wma(params, obb): """Test chart ta wma.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.wma(**params) assert result @@ -362,7 +365,7 @@ def test_chart_ta_zlma(params, obb): """Test chart ta zlma.""" params = {p: v for p, v in params.items() if v} - params["data"] = get_stocks_data() + params["data"] = get_equity_data() result = obb.ta.zlma(**params) assert result diff --git a/openbb_platform/extensions/charting/openbb_charting/charting_router.py b/openbb_platform/extensions/charting/openbb_charting/charting_router.py index 1ee2e6378ee1..898c9cea213e 100644 --- a/openbb_platform/extensions/charting/openbb_charting/charting_router.py +++ b/openbb_platform/extensions/charting/openbb_charting/charting_router.py @@ -13,7 +13,7 @@ CHART_FORMAT = ChartFormat.plotly -def stocks_load(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: +def equity_price_historical(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: """Stocks load chart.""" def handle_indicators(ma): @@ -41,8 +41,8 @@ def handle_indicators(ma): return fig, content -def stocks_news(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: - """Render stocks news table.""" +def equity_news(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: + """Render equity news table.""" data = basemodel_to_df(kwargs["obbject_item"], index=kwargs.get("index", "date")) standard_params = kwargs["standard_params"].__dict__ columnwidth = standard_params.get("columnwidth", None) @@ -56,7 +56,7 @@ def stocks_news(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: def _ta_ma(ma_type: str, **kwargs): """Plot moving average helper.""" data = basemodel_to_df(kwargs["data"], index=kwargs.get("index", "date")) - window = kwargs.get("windowstocks_load", 50) + window = kwargs.get("window", 50) offset = kwargs.get("offset", 0) symbol = kwargs.get("symbol", "") @@ -186,7 +186,7 @@ def ta_ema(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: return _ta_ma(ma_type, **kwargs) -def stocks_multiples(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: +def equity_fundamental_multiples(**kwargs) -> Tuple[OpenBBFigure, Dict[str, Any]]: """Stocks multiples chart.""" data = basemodel_to_df(kwargs["obbject_item"], index=kwargs.get("index", "date")) standard_params = kwargs["standard_params"].__dict__ diff --git a/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py b/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py index 34f515b44576..940c59bd622e 100644 --- a/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py +++ b/openbb_platform/extensions/econometrics/integration/test_econometrics_api.py @@ -8,7 +8,7 @@ from openbb_core.env import Env from openbb_provider.utils.helpers import get_querystring -data = {} +data: dict = {} def get_headers(): @@ -62,6 +62,7 @@ def get_data(menu: Literal["stocks", "crypto"]): return funcs[menu]() +@pytest.mark.skip(reason="econometrics is a python only extensions so far") @pytest.mark.parametrize( "params, data_type", [ @@ -82,6 +83,7 @@ def test_econometrics_corr(params, data_type): assert result.status_code == 200 +@pytest.mark.skip(reason="econometrics is a python only extensions so far") @pytest.mark.parametrize( "params, data_type", [ @@ -113,6 +115,7 @@ def test_econometrics_ols_summary(params, data_type): assert result.status_code == 200 +@pytest.mark.skip(reason="econometrics is a python only extensions so far") @pytest.mark.parametrize( "params, data_type", [ @@ -144,6 +147,7 @@ def test_econometrics_dwat(params, data_type): assert result.status_code == 200 +@pytest.mark.skip(reason="econometrics is a python only extensions so far") @pytest.mark.parametrize( "params, data_type", [ @@ -185,6 +189,7 @@ def test_econometrics_bgot(params, data_type): assert result.status_code == 200 +@pytest.mark.skip(reason="econometrics is a python only extensions so far") @pytest.mark.parametrize( "params, data_type", [ @@ -222,6 +227,7 @@ def test_econometrics_coint(params, data_type): assert result.status_code == 200 +@pytest.mark.skip(reason="econometrics is a python only extensions so far") @pytest.mark.parametrize( "params, data_type", [ @@ -247,6 +253,7 @@ def test_econometrics_granger(params, data_type): assert result.status_code == 200 +@pytest.mark.skip(reason="econometrics is a python only extensions so far") @pytest.mark.parametrize( "params, data_type", [({"data": "", "column": "high", "regression": "c"}, "stocks")], diff --git a/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py b/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py index dca8e4c14755..c0f310dc4d09 100644 --- a/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py +++ b/openbb_platform/extensions/econometrics/integration/test_econometrics_python.py @@ -7,16 +7,19 @@ from openbb_econometrics.utils import mock_multi_index_data +# pylint: disable=inconsistent-return-statements @pytest.fixture(scope="session") def obb(pytestconfig): """Fixture to setup obb.""" if pytestconfig.getoption("markexpr") != "not integration": - import openbb + import openbb # pylint: disable=import-outside-toplevel return openbb.obb -data = {} +# pylint: disable=redefined-outer-name + +data: dict = {} def get_stocks_data(): @@ -26,9 +29,9 @@ def get_stocks_data(): return data["stocks_data"] symbol = random.choice(["AAPL", "NVDA", "MSFT", "TSLA", "AMZN", "V"]) # noqa: S311 - provider = random.choice(["fmp", "polygon", "yfinance"]) # noqa: S311 + provider = random.choice(["fmp", "polygon"]) # noqa: S311 - data["stocks_data"] = openbb.obb.stocks.load( + data["stocks_data"] = openbb.obb.equity.price.historical( symbol=symbol, provider=provider ).results return data["stocks_data"] @@ -44,21 +47,21 @@ def get_crypto_data(): symbol = random.choice(["BTC"]) # noqa: S311 provider = random.choice(["fmp"]) # noqa: S311 - data["crypto_data"] = openbb.obb.crypto.load( + data["crypto_data"] = openbb.obb.crypto.price.historical( symbol=symbol, provider=provider ).results return data["crypto_data"] -def get_data(menu: Literal["stocks", "crypto"]): - funcs = {"stocks": get_stocks_data, "crypto": get_crypto_data} +def get_data(menu: Literal["equity", "crypto"]): + funcs = {"equity": get_stocks_data, "crypto": get_crypto_data} return funcs[menu]() @pytest.mark.parametrize( "params, data_type", [ - ({"data": ""}, "stocks"), + ({"data": ""}, "equity"), ({"data": ""}, "crypto"), ], ) @@ -79,7 +82,7 @@ def test_econometrics_corr(params, data_type, obb): [ ( {"data": "", "y_column": "close", "x_columns": ["high"]}, - "stocks", + "equity", ), ( {"data": "", "y_column": "close", "x_columns": ["high"]}, @@ -104,7 +107,7 @@ def test_econometrics_ols(params, data_type, obb): [ ( {"data": "", "y_column": "close", "x_columns": ["high"]}, - "stocks", + "equity", ), ( {"data": "", "y_column": "close", "x_columns": ["high"]}, @@ -128,7 +131,7 @@ def test_econometrics_ols_summary(params, data_type, obb): [ ( {"data": "", "y_column": "volume", "x_columns": ["close"]}, - "stocks", + "equity", ), ( {"data": "", "y_column": "volume", "x_columns": ["close"]}, @@ -157,7 +160,7 @@ def test_econometrics_dwat(params, data_type, obb): "x_columns": ["close"], "lags": "", }, - "stocks", + "equity", ), ( { @@ -189,7 +192,7 @@ def test_econometrics_bgot(params, data_type, obb): "data": "", "columns": ["close", "volume"], }, - "stocks", + "equity", ), ( { @@ -222,7 +225,7 @@ def test_econometrics_coint(params, data_type, obb): "x_column": "close", "lag": "", }, - "stocks", + "equity", ), ( { @@ -250,7 +253,7 @@ def test_econometrics_granger(params, data_type, obb): @pytest.mark.parametrize( "params, data_type", [ - ({"data": "", "column": "close", "regression": "c"}, "stocks"), + ({"data": "", "column": "close", "regression": "c"}, "equity"), ( {"data": "", "column": "volume", "regression": "ctt"}, "crypto", diff --git a/openbb_platform/extensions/economy/integration/test_economy_python.py b/openbb_platform/extensions/economy/integration/test_economy_python.py index 76cf489425f5..5c2886e81600 100644 --- a/openbb_platform/extensions/economy/integration/test_economy_python.py +++ b/openbb_platform/extensions/economy/integration/test_economy_python.py @@ -433,6 +433,7 @@ def test_economy_gdpforecast(params, obb): @pytest.mark.parametrize( "params", [ + ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), ( { "provider": "nasdaq", @@ -466,29 +467,3 @@ def test_economy_calendar(params, obb): assert result assert isinstance(result, OBBject) assert len(result.results) > 0 - - -@pytest.mark.parametrize( - "params", - [ - ({"start_date": "2023-01-01", "end_date": "2023-06-06"}), - ( - { - "importance": "Low", - "group": "interest rate", - "country": "Portugal", - "provider": "tradingeconomics", - "start_date": "2023-01-01", - "end_date": "2023-06-06", - } - ), - ], -) -@pytest.mark.integration -def test_economy_calendar2(params, obb): - params = {p: v for p, v in params.items() if v} - - result = obb.economy.calendar(**params) - assert result - assert isinstance(result, OBBject) - assert len(result.results) > 0 diff --git a/openbb_platform/extensions/stocks/README.md b/openbb_platform/extensions/equity/README.md similarity index 100% rename from openbb_platform/extensions/stocks/README.md rename to openbb_platform/extensions/equity/README.md diff --git a/openbb_platform/extensions/stocks/integration/test_stocks_api.py b/openbb_platform/extensions/equity/integration/test_equity_api.py similarity index 80% rename from openbb_platform/extensions/stocks/integration/test_stocks_api.py rename to openbb_platform/extensions/equity/integration/test_equity_api.py index 67f62cccd4b0..7e4b21b69a19 100644 --- a/openbb_platform/extensions/stocks/integration/test_stocks_api.py +++ b/openbb_platform/extensions/equity/integration/test_equity_api.py @@ -1,4 +1,4 @@ -"""API integration tests for stocks extension.""" +"""API integration tests for equity extension.""" from datetime import time import pytest @@ -66,11 +66,11 @@ def headers(): ], ) @pytest.mark.integration -def test_stocks_fa_balance(params, headers): +def test_equity_fundamental_balance(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/balance?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/balance?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -81,11 +81,11 @@ def test_stocks_fa_balance(params, headers): [({"symbol": "AAPL", "limit": 10})], ) @pytest.mark.integration -def test_stocks_fa_balance_growth(params, headers): +def test_equity_fundamental_balance_growth(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/balance_growth?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/balance_growth?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -99,11 +99,45 @@ def test_stocks_fa_balance_growth(params, headers): ], ) @pytest.mark.integration -def test_stocks_calendar_dividend(params, headers): +def test_equity_calendar_dividend(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/calendar_dividend?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/calendar/dividend?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@pytest.mark.parametrize( + "params", + [ + ({"start_date": "2023-11-05", "end_date": "2023-11-10", "provider": "fmp"}), + ], +) +@pytest.mark.integration +def test_equity_calendar_split(params, headers): + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/equity/calendar/split?{query_str}" + result = requests.get(url, headers=headers, timeout=10) + assert isinstance(result, requests.Response) + assert result.status_code == 200 + + +@pytest.mark.parametrize( + "params", + [ + ({"symbol": "AAPL", "limit": 5, "provider": "fmp"}), + ], +) +@pytest.mark.integration +def test_equity_calendar_earnings(params, headers): + params = {p: v for p, v in params.items() if v} + + query_str = get_querystring(params, []) + url = f"http://0.0.0.0:8000/api/v1/equity/calendar/earnings?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -162,11 +196,11 @@ def test_stocks_calendar_dividend(params, headers): ], ) @pytest.mark.integration -def test_stocks_fa_cash(params, headers): +def test_equity_fundamental_cash(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/cash?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/cash?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -177,11 +211,11 @@ def test_stocks_fa_cash(params, headers): [({"symbol": "AAPL", "limit": 10})], ) @pytest.mark.integration -def test_stocks_fa_cash_growth(params, headers): +def test_equity_fundamental_cash_growth(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/cash_growth?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/cash_growth?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -192,11 +226,11 @@ def test_stocks_fa_cash_growth(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_comp(params, headers): +def test_equity_fundamental_management_compensation(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/comp?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/management_compensation?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -204,14 +238,14 @@ def test_stocks_fa_comp(params, headers): @pytest.mark.parametrize( "params", - [({"start_date": "2023-01-01", "end_date": "2023-06-06"})], + [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_comsplit(params, headers): +def test_equity_fundamental_historical_splits(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/comsplit?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/historical_splits?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -222,11 +256,11 @@ def test_stocks_fa_comsplit(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_divs(params, headers): +def test_equity_fundamental_dividends(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/divs?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/dividends?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -237,11 +271,11 @@ def test_stocks_fa_divs(params, headers): [({"symbol": "AAPL", "limit": 50})], ) @pytest.mark.integration -def test_stocks_fa_earning(params, headers): +def test_equity_fundamental_earnings(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/earning?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/earnings?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -252,11 +286,11 @@ def test_stocks_fa_earning(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_emp(params, headers): +def test_equity_fundamental_employee_count(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/emp?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/employee_count?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -267,11 +301,11 @@ def test_stocks_fa_emp(params, headers): [({"symbol": "AAPL", "period": "annual", "limit": 30})], ) @pytest.mark.integration -def test_stocks_fa_est(params, headers): +def test_equity_estimates_historical(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/est?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/estimates/historical?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -330,11 +364,11 @@ def test_stocks_fa_est(params, headers): ], ) @pytest.mark.integration -def test_stocks_fa_income(params, headers): +def test_equity_fundamental_income(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/income?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/income?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -345,11 +379,11 @@ def test_stocks_fa_income(params, headers): [({"symbol": "AAPL", "limit": 10, "period": "annual"})], ) @pytest.mark.integration -def test_stocks_fa_income_growth(params, headers): +def test_equity_fundamental_income_growth(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/income_growth?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/income_growth?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -369,11 +403,11 @@ def test_stocks_fa_income_growth(params, headers): ], ) @pytest.mark.integration -def test_stocks_fa_ins(params, headers): +def test_equity_ownership_insider_trading(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/ins?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/ownership/insider_trading?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -393,11 +427,11 @@ def test_stocks_fa_ins(params, headers): ], ) @pytest.mark.integration -def test_stocks_fa_ins_own(params, headers): +def test_equity_ownership_institutional(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/ins_own?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/ownership/institutional?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -427,11 +461,11 @@ def test_stocks_fa_ins_own(params, headers): ], ) @pytest.mark.integration -def test_stocks_calendar_ipo(params, headers): +def test_equity_calendar_ipo(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/calendar_ipo?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/calendar/ipo?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -442,11 +476,11 @@ def test_stocks_calendar_ipo(params, headers): [({"symbol": "AAPL", "period": "annual", "limit": 100})], ) @pytest.mark.integration -def test_stocks_fa_metrics(params, headers): +def test_equity_fundamental_metrics(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/metrics?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/metrics?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -457,11 +491,11 @@ def test_stocks_fa_metrics(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_mgmt(params, headers): +def test_equity_fundamental_management(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/mgmt?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/management?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -472,11 +506,11 @@ def test_stocks_fa_mgmt(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_overview(params, headers): +def test_equity_fundamental_overview(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/overview?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/overview?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -487,11 +521,11 @@ def test_stocks_fa_overview(params, headers): [({"symbol": "AAPL", "date": "2023-01-01", "page": 1})], ) @pytest.mark.integration -def test_stocks_fa_own(params, headers): +def test_equity_ownership_major_holders(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/own?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/ownership/major_holders?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -502,11 +536,11 @@ def test_stocks_fa_own(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_pt(params, headers): +def test_equity_estimates_price_target(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/pt?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/estimates/price_target?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -514,14 +548,14 @@ def test_stocks_fa_pt(params, headers): @pytest.mark.parametrize( "params", - [({"symbol": "AAPL"}), ({"with_grade": True, "provider": "fmp", "symbol": "AAPL"})], + [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_pta(params, headers): +def test_equity_estimates_consensus(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/pta?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/estimates/consensus?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -532,11 +566,11 @@ def test_stocks_fa_pta(params, headers): [({"symbol": "AAPL", "period": "annual", "limit": 12})], ) @pytest.mark.integration -def test_stocks_fa_ratios(params, headers): +def test_equity_fundamental_ratios(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/ratios?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/ratios?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -547,11 +581,11 @@ def test_stocks_fa_ratios(params, headers): [({"symbol": "AAPL", "period": "annual", "structure": "flat"})], ) @pytest.mark.integration -def test_stocks_fa_revgeo(params, headers): +def test_equity_fundamental_revenue_per_geography(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/revgeo?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/revenue_per_geography?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -562,11 +596,13 @@ def test_stocks_fa_revgeo(params, headers): [({"symbol": "AAPL", "period": "annual", "structure": "flat"})], ) @pytest.mark.integration -def test_stocks_fa_revseg(params, headers): +def test_equity_fundamental_revenue_per_segment(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/revseg?{query_str}" + url = ( + f"http://0.0.0.0:8000/api/v1/equity/fundamental/revenue_per_segment?{query_str}" + ) result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -589,11 +625,11 @@ def test_stocks_fa_revseg(params, headers): ], ) @pytest.mark.integration -def test_stocks_fa_filings(params, headers): +def test_equity_fundamental_filings(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/filings?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/filings?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -604,26 +640,11 @@ def test_stocks_fa_filings(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_shrs(params, headers): +def test_equity_ownership_share_statistics(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/shrs?{query_str}" - result = requests.get(url, headers=headers, timeout=10) - assert isinstance(result, requests.Response) - assert result.status_code == 200 - - -@pytest.mark.parametrize( - "params", - [({"symbol": "AAPL"})], -) -@pytest.mark.integration -def test_stocks_fa_split(params, headers): - params = {p: v for p, v in params.items() if v} - - query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/split?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/ownership/share_statistics?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -634,11 +655,11 @@ def test_stocks_fa_split(params, headers): [({"symbol": "AAPL", "year": 2023})], ) @pytest.mark.integration -def test_stocks_fa_transcript(params, headers): +def test_equity_fundamental_transcript(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/transcript?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/transcript?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -649,11 +670,11 @@ def test_stocks_fa_transcript(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_ca_peers(params, headers): +def test_equity_compare_peers(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/ca/peers?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/compare/peers?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -662,17 +683,16 @@ def test_stocks_ca_peers(params, headers): @pytest.mark.parametrize( "params", [ - ({"symbol": "AAPL", "provider": "cboe"}), ({"date": "2023-01-25", "provider": "intrinio", "symbol": "AAPL"}), ({"provider": "cboe", "symbol": "AAPL"}), ], ) @pytest.mark.integration -def test_stocks_options_chains(params, headers): +def test_equity_options_chains(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/options/chains?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/options/chains?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -681,16 +701,18 @@ def test_stocks_options_chains(params, headers): @pytest.mark.parametrize( "params", [ + ({"symbol": "AAPL"}), + ({"source": "delayed", "provider": "intrinio", "symbol": "AAPL"}), ({"symbol": None, "source": "delayed", "provider": "intrinio"}), ({"symbol": "PLTR", "source": "delayed", "provider": "intrinio"}), ], ) @pytest.mark.integration -def test_stocks_options_unusual(params, headers): +def test_equity_options_unusual(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/options/unusual?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/options/unusual?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -853,13 +875,13 @@ def test_stocks_options_unusual(params, headers): ], ) @pytest.mark.integration -def test_stocks_load(params, headers): +def test_equity_price_historical(params, headers): if params.get("provider") == "alpha_vantage": pytest.skip("Alpha Vantage is premium.") params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/load?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/price/historical?{query_str}" result = requests.get(url, headers=headers, timeout=30) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -930,11 +952,11 @@ def test_stocks_load(params, headers): ], ) @pytest.mark.integration -def test_stocks_news(params, headers): +def test_equity_news(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/news?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/news?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -945,11 +967,11 @@ def test_stocks_news(params, headers): [({"symbol": "AAPL", "limit": 100})], ) @pytest.mark.integration -def test_stocks_multiples(params, headers): +def test_equity_fundamental_multiples(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/multiples?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/fundamental/multiples?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -986,11 +1008,11 @@ def test_stocks_multiples(params, headers): ], ) @pytest.mark.integration -def test_stocks_search(params, headers): +def test_equity_search(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/search?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/search?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1004,11 +1026,11 @@ def test_stocks_search(params, headers): ], ) @pytest.mark.integration -def test_stocks_quote(params, headers): +def test_equity_price_quote(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/quote?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/price/quote?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1019,11 +1041,11 @@ def test_stocks_quote(params, headers): [({"symbol": "AAPL", "provider": "cboe"})], ) @pytest.mark.integration -def test_stocks_info(params, headers): +def test_equity_profile(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/info?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/profile?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1034,11 +1056,11 @@ def test_stocks_info(params, headers): [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration -def test_stocks_disc_gainers(params, headers): +def test_equity_discovery_gainers(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/gainers?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/gainers?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1049,11 +1071,11 @@ def test_stocks_disc_gainers(params, headers): [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration -def test_stocks_disc_losers(params, headers): +def test_equity_discovery_losers(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/losers?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/losers?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1064,11 +1086,11 @@ def test_stocks_disc_losers(params, headers): [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration -def test_stocks_disc_active(params, headers): +def test_equity_discovery_active(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/active?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/active?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1079,11 +1101,11 @@ def test_stocks_disc_active(params, headers): [({"symbol": "AAPL", "provider": "fmp"})], ) @pytest.mark.integration -def test_stocks_price_performance(params, headers): +def test_equity_price_performance(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/price_performance?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/price/performance?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1094,11 +1116,11 @@ def test_stocks_price_performance(params, headers): [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration -def test_stocks_disc_undervalued_large_caps(params, headers): +def test_equity_discovery_undervalued_large_caps(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/undervalued_large_caps?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/undervalued_large_caps?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1106,14 +1128,14 @@ def test_stocks_disc_undervalued_large_caps(params, headers): @pytest.mark.parametrize( "params", - [({"sort": "desc", "provider": "yfinance"})], + [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_undervalued_growth_equities(params, headers): +def test_equity_discovery_undervalued_growth(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/undervalued_growth_equities?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/undervalued_growth?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1121,14 +1143,16 @@ def test_stocks_disc_undervalued_growth_equities(params, headers): @pytest.mark.parametrize( "params", - [({"sort": "desc", "provider": "yfinance"})], + [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_aggressive_small_caps(params, headers): +def test_equity_discovery_aggressive_small_caps(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/aggressive_small_caps?{query_str}" + url = ( + f"http://0.0.0.0:8000/api/v1/equity/discovery/aggressive_small_caps?{query_str}" + ) result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1139,11 +1163,11 @@ def test_stocks_disc_aggressive_small_caps(params, headers): [({"sort": "desc", "provider": "yfinance"})], ) @pytest.mark.integration -def test_stocks_disc_growth_tech_equities(params, headers): +def test_equity_discovery_growth_tech(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/growth_tech_equities?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/growth_tech?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1154,11 +1178,11 @@ def test_stocks_disc_growth_tech_equities(params, headers): [({"limit": 10, "provider": "nasdaq"})], ) @pytest.mark.integration -def test_stocks_disc_top_retail(params, headers): +def test_equity_discovery_top_retail(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/top_retail?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/top_retail?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1166,14 +1190,16 @@ def test_stocks_disc_top_retail(params, headers): @pytest.mark.parametrize( "params", - [({"limit": 5, "start_date": "2023-01-01"})], + [({"limit": 5})], ) @pytest.mark.integration -def test_stocks_disc_upcoming_release_days(params, headers): +def test_equity_discovery_upcoming_release_days(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/upcoming_release_days?{query_str}" + url = ( + f"http://0.0.0.0:8000/api/v1/equity/discovery/upcoming_release_days?{query_str}" + ) result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1205,11 +1231,11 @@ def test_stocks_disc_upcoming_release_days(params, headers): ], ) @pytest.mark.integration -def test_stocks_disc_filings(params, headers): +def test_equity_discovery_filings(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/disc/filings?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/discovery/filings?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1223,11 +1249,11 @@ def test_stocks_disc_filings(params, headers): ], ) @pytest.mark.integration -def test_stocks_dps_ftd(params, headers): +def test_equity_shorts_fails_to_deliver(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/dps/ftd?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/shorts/fails_to_deliver?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1238,11 +1264,11 @@ def test_stocks_dps_ftd(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_dps_short_volume(params, headers): +def test_equity_shorts_short_volume(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/dps/short_volume?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/shorts/short_volume?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1253,11 +1279,11 @@ def test_stocks_dps_short_volume(params, headers): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_dps_short_interest(params, headers): +def test_equity_shorts_short_interest(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/dps/short_interest?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/shorts/short_interest?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1293,11 +1319,11 @@ def test_stocks_dps_short_interest(params, headers): ], ) @pytest.mark.integration -def test_stocks_nbbo(params, headers): +def test_equity_price_nbbo(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/nbbo?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/price/nbbo?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1311,11 +1337,11 @@ def test_stocks_nbbo(params, headers): ], ) @pytest.mark.integration -def test_stocks_dps_otc(params, headers): +def test_equity_darkpool_otc(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/dps/otc?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/darkpool/otc?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 @@ -1329,11 +1355,11 @@ def test_stocks_dps_otc(params, headers): ], ) @pytest.mark.integration -def test_stocks_market_snapshots(params, headers): +def test_equity_market_snapshots(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/market_snapshots?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/equity/market_snapshots?{query_str}" result = requests.get(url, headers=headers, timeout=10) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/stocks/integration/test_stocks_python.py b/openbb_platform/extensions/equity/integration/test_equity_python.py similarity index 81% rename from openbb_platform/extensions/stocks/integration/test_stocks_python.py rename to openbb_platform/extensions/equity/integration/test_equity_python.py index 576b27ef2cf6..1fad64746cf8 100644 --- a/openbb_platform/extensions/stocks/integration/test_stocks_python.py +++ b/openbb_platform/extensions/equity/integration/test_equity_python.py @@ -70,8 +70,8 @@ def obb(pytestconfig): ], ) @pytest.mark.integration -def test_stocks_fa_balance(params, obb): - result = obb.stocks.fa.balance(**params) +def test_equity_fundamental_balance(params, obb): + result = obb.equity.fundamental.balance(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -84,8 +84,8 @@ def test_stocks_fa_balance(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_balance_growth(params, obb): - result = obb.stocks.fa.balance_growth(**params) +def test_equity_fundamental_balance_growth(params, obb): + result = obb.equity.fundamental.balance_growth(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -99,8 +99,36 @@ def test_stocks_fa_balance_growth(params, obb): ], ) @pytest.mark.integration -def test_stocks_calendar_dividend(params, obb): - result = obb.stocks.calendar_dividend(**params) +def test_equity_calendar_dividend(params, obb): + result = obb.equity.calendar.dividend(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@pytest.mark.parametrize( + "params", + [ + ({"start_date": "2023-11-05", "end_date": "2023-11-10", "provider": "fmp"}), + ], +) +@pytest.mark.integration +def test_equity_calendar_split(params, obb): + result = obb.equity.calendar.split(**params) + assert result + assert isinstance(result, OBBject) + assert len(result.results) > 0 + + +@pytest.mark.parametrize( + "params", + [ + ({"symbol": "AAPL", "limit": 5, "provider": "fmp"}), + ], +) +@pytest.mark.integration +def test_equity_calendar_earnings(params, obb): + result = obb.equity.calendar.earnings(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -159,8 +187,8 @@ def test_stocks_calendar_dividend(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_cash(params, obb): - result = obb.stocks.fa.cash(**params) +def test_equity_fundamental_cash(params, obb): + result = obb.equity.fundamental.cash(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -173,8 +201,8 @@ def test_stocks_fa_cash(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_cash_growth(params, obb): - result = obb.stocks.fa.cash_growth(**params) +def test_equity_fundamental_cash_growth(params, obb): + result = obb.equity.fundamental.cash_growth(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -187,8 +215,8 @@ def test_stocks_fa_cash_growth(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_comp(params, obb): - result = obb.stocks.fa.comp(**params) +def test_equity_fundamental_management_compensation(params, obb): + result = obb.equity.fundamental.management_compensation(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -197,17 +225,12 @@ def test_stocks_fa_comp(params, obb): @pytest.mark.parametrize( "params", [ - ( - { - "start_date": "2023-01-01", - "end_date": "2023-06-06", - } - ), + ({"symbol": "AAPL"}), ], ) @pytest.mark.integration -def test_stocks_fa_comsplit(params, obb): - result = obb.stocks.fa.comsplit(**params) +def test_equity_fundamental_historical_splits(params, obb): + result = obb.equity.fundamental.historical_splits(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -220,8 +243,8 @@ def test_stocks_fa_comsplit(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_divs(params, obb): - result = obb.stocks.fa.divs(**params) +def test_equity_fundamental_dividends(params, obb): + result = obb.equity.fundamental.dividends(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -234,8 +257,8 @@ def test_stocks_fa_divs(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_earning(params, obb): - result = obb.stocks.fa.earning(**params) +def test_equity_fundamental_earnings(params, obb): + result = obb.equity.fundamental.earnings(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -248,8 +271,8 @@ def test_stocks_fa_earning(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_emp(params, obb): - result = obb.stocks.fa.emp(**params) +def test_equity_fundamental_employee_count(params, obb): + result = obb.equity.fundamental.employee_count(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -262,8 +285,8 @@ def test_stocks_fa_emp(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_est(params, obb): - result = obb.stocks.fa.est(**params) +def test_equity_estimates_historical(params, obb): + result = obb.equity.estimates.historical(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -322,8 +345,8 @@ def test_stocks_fa_est(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_income(params, obb): - result = obb.stocks.fa.income(**params) +def test_equity_fundamental_income(params, obb): + result = obb.equity.fundamental.income(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -334,8 +357,8 @@ def test_stocks_fa_income(params, obb): [({"symbol": "AAPL", "limit": 10, "period": "annual"})], ) @pytest.mark.integration -def test_stocks_fa_income_growth(params, obb): - result = obb.stocks.fa.income_growth(**params) +def test_equity_fundamental_income_growth(params, obb): + result = obb.equity.fundamental.income_growth(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -354,8 +377,8 @@ def test_stocks_fa_income_growth(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_ins(params, obb): - result = obb.stocks.fa.ins(**params) +def test_equity_ownership_insider_trading(params, obb): + result = obb.equity.ownership.insider_trading(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -374,8 +397,8 @@ def test_stocks_fa_ins(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_ins_own(params, obb): - result = obb.stocks.fa.ins_own(**params) +def test_equity_ownership_institutional(params, obb): + result = obb.equity.ownership.institutional(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -405,8 +428,8 @@ def test_stocks_fa_ins_own(params, obb): ], ) @pytest.mark.integration -def test_stocks_calendar_ipo(params, obb): - result = obb.stocks.calendar_ipo(**params) +def test_equity_calendar_ipo(params, obb): + result = obb.equity.calendar.ipo(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -419,8 +442,8 @@ def test_stocks_calendar_ipo(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_metrics(params, obb): - result = obb.stocks.fa.metrics(**params) +def test_equity_fundamental_metrics(params, obb): + result = obb.equity.fundamental.metrics(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -433,8 +456,8 @@ def test_stocks_fa_metrics(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_mgmt(params, obb): - result = obb.stocks.fa.mgmt(**params) +def test_equity_fundamental_management(params, obb): + result = obb.equity.fundamental.management(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -447,8 +470,8 @@ def test_stocks_fa_mgmt(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_overview(params, obb): - result = obb.stocks.fa.overview(**params) +def test_equity_fundamental_overview(params, obb): + result = obb.equity.fundamental.overview(**params) assert result assert isinstance(result, OBBject) @@ -460,8 +483,8 @@ def test_stocks_fa_overview(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_own(params, obb): - result = obb.stocks.fa.own(**params) +def test_equity_ownership_major_holders(params, obb): + result = obb.equity.ownership.major_holders(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -474,25 +497,21 @@ def test_stocks_fa_own(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_pt(params, obb): - result = obb.stocks.fa.pt(**params) +def test_equity_estimates_price_target(params, obb): + result = obb.equity.estimates.price_target(**params) assert result assert isinstance(result, OBBject) @pytest.mark.parametrize( "params", - [ - ({"symbol": "AAPL"}), - ({"with_grade": True, "provider": "fmp", "symbol": "AAPL"}), - ], + [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_fa_pta(params, obb): - result = obb.stocks.fa.pta(**params) +def test_equity_estimates_consensus(params, obb): + result = obb.equity.estimates.consensus(**params) assert result assert isinstance(result, OBBject) - assert len(result.results) > 0 @pytest.mark.parametrize( @@ -502,8 +521,8 @@ def test_stocks_fa_pta(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_ratios(params, obb): - result = obb.stocks.fa.ratios(**params) +def test_equity_fundamental_ratios(params, obb): + result = obb.equity.fundamental.ratios(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -516,8 +535,8 @@ def test_stocks_fa_ratios(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_revgeo(params, obb): - result = obb.stocks.fa.revgeo(**params) +def test_equity_fundamental_revenue_per_geography(params, obb): + result = obb.equity.fundamental.revenue_per_geography(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -530,8 +549,8 @@ def test_stocks_fa_revgeo(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_revseg(params, obb): - result = obb.stocks.fa.revseg(**params) +def test_equity_fundamental_revenue_per_segment(params, obb): + result = obb.equity.fundamental.revenue_per_segment(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -554,22 +573,8 @@ def test_stocks_fa_revseg(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_filings(params, obb): - result = obb.stocks.fa.filings(**params) - assert result - assert isinstance(result, OBBject) - assert len(result.results) > 0 - - -@pytest.mark.parametrize( - "params", - [ - ({"symbol": "AAPL"}), - ], -) -@pytest.mark.integration -def test_stocks_fa_shrs(params, obb): - result = obb.stocks.fa.shrs(**params) +def test_equity_fundamental_filings(params, obb): + result = obb.equity.fundamental.filings(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -582,8 +587,8 @@ def test_stocks_fa_shrs(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_split(params, obb): - result = obb.stocks.fa.split(**params) +def test_equity_ownership_share_statistics(params, obb): + result = obb.equity.ownership.share_statistics(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -596,8 +601,8 @@ def test_stocks_fa_split(params, obb): ], ) @pytest.mark.integration -def test_stocks_fa_transcript(params, obb): - result = obb.stocks.fa.transcript(**params) +def test_equity_fundamental_transcript(params, obb): + result = obb.equity.fundamental.transcript(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -610,8 +615,8 @@ def test_stocks_fa_transcript(params, obb): ], ) @pytest.mark.integration -def test_stocks_ca_peers(params, obb): - result = obb.stocks.ca.peers(**params) +def test_equity_compare_peers(params, obb): + result = obb.equity.compare.peers(**params) assert result assert isinstance(result, OBBject) @@ -625,8 +630,8 @@ def test_stocks_ca_peers(params, obb): ], ) @pytest.mark.integration -def test_stocks_options_chains(params, obb): - result = obb.stocks.options.chains(**params) +def test_equity_options_chains(params, obb): + result = obb.equity.options.chains(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -635,13 +640,15 @@ def test_stocks_options_chains(params, obb): @pytest.mark.parametrize( "params", [ + ({"symbol": "AAPL"}), + ({"source": "delayed", "provider": "intrinio", "symbol": "AAPL"}), ({"symbol": None, "source": "delayed", "provider": "intrinio"}), ({"symbol": "PLTR", "source": "delayed", "provider": "intrinio"}), ], ) @pytest.mark.integration -def test_stocks_options_unusual(params, obb): - result = obb.stocks.options.usual(**params) +def test_equity_options_unusual(params, obb): + result = obb.equity.options.unusual(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -803,11 +810,11 @@ def test_stocks_options_unusual(params, obb): ], ) @pytest.mark.integration -def test_stocks_load(params, obb): +def test_equity_price_historical(params, obb): if params.get("provider") == "alpha_vantage": pytest.skip("skipping alpha_vantage") - result = obb.stocks.load(**params) + result = obb.equity.price.historical(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -878,8 +885,8 @@ def test_stocks_load(params, obb): ], ) @pytest.mark.integration -def test_stocks_news(params, obb): - result = obb.stocks.news(**params) +def test_equity_news(params, obb): + result = obb.equity.news(**params) assert result assert isinstance(result, OBBject) @@ -891,8 +898,8 @@ def test_stocks_news(params, obb): ], ) @pytest.mark.integration -def test_stocks_multiples(params, obb): - result = obb.stocks.multiples(**params) +def test_equity_fundamental_multiples(params, obb): + result = obb.equity.fundamental.multiples(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -929,8 +936,8 @@ def test_stocks_multiples(params, obb): ], ) @pytest.mark.integration -def test_stocks_search(params, obb): - result = obb.stocks.search(**params) +def test_equity_search(params, obb): + result = obb.equity.search(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -945,8 +952,8 @@ def test_stocks_search(params, obb): ], ) @pytest.mark.integration -def test_stocks_quote(params, obb): - result = obb.stocks.quote(**params) +def test_equity_price_quote(params, obb): + result = obb.equity.price.quote(**params) assert result assert isinstance(result, OBBject) @@ -958,8 +965,8 @@ def test_stocks_quote(params, obb): ], ) @pytest.mark.integration -def test_stocks_info(params, obb): - result = obb.stocks.info(**params) +def test_equity_profile(params, obb): + result = obb.equity.profile(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -970,10 +977,10 @@ def test_stocks_info(params, obb): [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_gainers(params, obb): +def test_equity_discovery_gainers(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.gainers(**params) + result = obb.equity.discovery.gainers(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -984,10 +991,10 @@ def test_stocks_disc_gainers(params, obb): [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_losers(params, obb): +def test_equity_discovery_losers(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.losers(**params) + result = obb.equity.discovery.losers(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -998,10 +1005,10 @@ def test_stocks_disc_losers(params, obb): [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_active(params, obb): +def test_equity_discovery_active(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.active(**params) + result = obb.equity.discovery.active(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1012,10 +1019,10 @@ def test_stocks_disc_active(params, obb): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_price_performance(params, obb): +def test_equity_price_performance(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.price_performance(**params) + result = obb.equity.price.performance(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1026,10 +1033,10 @@ def test_stocks_price_performance(params, obb): [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_undervalued_large_caps(params, obb): +def test_equity_discovery_undervalued_large_caps(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.undervalued_large_caps(**params) + result = obb.equity.discovery.undervalued_large_caps(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1040,10 +1047,10 @@ def test_stocks_disc_undervalued_large_caps(params, obb): [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_undervalued_growth_equities(params, obb): +def test_equity_discovery_undervalued_growth(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.undervalued_growth_equities(**params) + result = obb.equity.discovery.undervalued_growth(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1054,10 +1061,10 @@ def test_stocks_disc_undervalued_growth_equities(params, obb): [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_aggressive_small_caps(params, obb): +def test_equity_discovery_aggressive_small_caps(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.aggressive_small_caps(**params) + result = obb.equity.discovery.aggressive_small_caps(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1068,10 +1075,10 @@ def test_stocks_disc_aggressive_small_caps(params, obb): [({"sort": "desc"})], ) @pytest.mark.integration -def test_stocks_disc_growth_tech_equities(params, obb): +def test_equity_discovery_growth_tech(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.growth_tech_equities(**params) + result = obb.equity.discovery.growth_tech(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1082,10 +1089,10 @@ def test_stocks_disc_growth_tech_equities(params, obb): [({"limit": 10})], ) @pytest.mark.integration -def test_stocks_disc_top_retail(params, obb): +def test_equity_discovery_top_retail(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.top_retail(**params) + result = obb.equity.discovery.top_retail(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1093,13 +1100,13 @@ def test_stocks_disc_top_retail(params, obb): @pytest.mark.parametrize( "params", - [({"limit": 5, "start_date": "2023-01-01"})], + [({"limit": 5})], ) @pytest.mark.integration -def test_stocks_disc_upcoming_release_days(params, obb): +def test_equity_discovery_upcoming_release_days(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.upcoming_release_days(**params) + result = obb.equity.discovery.upcoming_release_days(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1131,10 +1138,10 @@ def test_stocks_disc_upcoming_release_days(params, obb): ], ) @pytest.mark.integration -def test_stocks_disc_filings(params, obb): +def test_equity_discovery_filings(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.disc.filings(**params) + result = obb.equity.discovery.filings(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1148,10 +1155,10 @@ def test_stocks_disc_filings(params, obb): ], ) @pytest.mark.integration -def test_stocks_dps_ftd(params, obb): +def test_equity_shorts_fails_to_deliver(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.dps.ftd(**params) + result = obb.equity.shorts.fails_to_deliver(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1162,10 +1169,10 @@ def test_stocks_dps_ftd(params, obb): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_dps_short_volume(params, obb): +def test_equity_shorts_short_volume(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.dps.short_volume(**params) + result = obb.equity.shorts.short_volume(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1176,10 +1183,10 @@ def test_stocks_dps_short_volume(params, obb): [({"symbol": "AAPL"})], ) @pytest.mark.integration -def test_stocks_dps_short_interest(params, obb): +def test_equity_shorts_short_interest(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.dps.short_interest(**params) + result = obb.equity.shorts.short_interest(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1215,8 +1222,8 @@ def test_stocks_dps_short_interest(params, obb): ], ) @pytest.mark.integration -def test_stocks_nbbo(params, obb): - result = obb.stocks.nbbo(**params) +def test_equity_price_nbbo(params, obb): + result = obb.equity.price.nbbo(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1230,27 +1237,10 @@ def test_stocks_nbbo(params, obb): ], ) @pytest.mark.integration -def test_stocks_dps_otc(params, obb): - params = {p: v for p, v in params.items() if v} - - result = obb.stocks.dps.otc(**params) - assert result - assert isinstance(result, OBBject) - assert len(result.results) > 0 - - -@pytest.mark.parametrize( - "params", - [ - ({"symbol": "AAPL"}), - ({"source": "delayed", "provider": "intrinio", "symbol": "AAPL"}), - ], -) -@pytest.mark.integration -def test_stocks_options_unusual2(params, obb): +def test_equity_darkpool_otc(params, obb): params = {p: v for p, v in params.items() if v} - result = obb.stocks.options.unusual(**params) + result = obb.equity.darkpool.otc(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 @@ -1264,8 +1254,8 @@ def test_stocks_options_unusual2(params, obb): ], ) @pytest.mark.integration -def test_stocks_market_snapshots(params, obb): - result = obb.stocks.market_snapshots(**params) +def test_equity_market_snapshots(params, obb): + result = obb.equity.market_snapshots(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 diff --git a/openbb_platform/extensions/equity/openbb_equity/__init__.py b/openbb_platform/extensions/equity/openbb_equity/__init__.py new file mode 100644 index 000000000000..ad14014d4239 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/__init__.py @@ -0,0 +1 @@ +"""Equity Data.""" diff --git a/openbb_platform/extensions/equity/openbb_equity/calendar/__init__.py b/openbb_platform/extensions/equity/openbb_equity/calendar/__init__.py new file mode 100644 index 000000000000..79d248b489bc --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/calendar/__init__.py @@ -0,0 +1 @@ +"""Equity Calendar.""" diff --git a/openbb_platform/extensions/equity/openbb_equity/calendar/calendar_router.py b/openbb_platform/extensions/equity/openbb_equity/calendar/calendar_router.py new file mode 100644 index 000000000000..d3a28b7dd089 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/calendar/calendar_router.py @@ -0,0 +1,59 @@ +"""Calendar Router.""" +from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.provider_interface import ( + ExtraParams, + ProviderChoices, + StandardParams, +) +from openbb_core.app.query import Query +from openbb_core.app.router import Router +from pydantic import BaseModel + +router = Router(prefix="/calendar") + +# pylint: disable=unused-argument + + +@router.command(model="CalendarIpo") +def ipo( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Upcoming and Historical IPO Calendar.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="CalendarDividend") +def dividend( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Upcoming and Historical Dividend Calendar.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="CalendarSplits") +def split( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Calendar Splits. Show Stock Split Calendar.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="CalendarEarnings") +def earnings( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Upcoming and Historical earnings calendar.""" + return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/equity/openbb_equity/compare/__init__.py b/openbb_platform/extensions/equity/openbb_equity/compare/__init__.py new file mode 100644 index 000000000000..2648a1695506 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/compare/__init__.py @@ -0,0 +1 @@ +"""Comparison Analysis.""" diff --git a/openbb_platform/extensions/stocks/openbb_stocks/ca/ca_router.py b/openbb_platform/extensions/equity/openbb_equity/compare/compare_router.py similarity index 85% rename from openbb_platform/extensions/stocks/openbb_stocks/ca/ca_router.py rename to openbb_platform/extensions/equity/openbb_equity/compare/compare_router.py index af242fe1546c..9235f5a788ad 100644 --- a/openbb_platform/extensions/stocks/openbb_stocks/ca/ca_router.py +++ b/openbb_platform/extensions/equity/openbb_equity/compare/compare_router.py @@ -12,15 +12,15 @@ from openbb_core.app.router import Router from pydantic import BaseModel -router = Router(prefix="/ca") +router = Router(prefix="/compare") -@router.command(model="StockPeers") +@router.command(model="EquityPeers") def peers( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, extra_params: ExtraParams, ) -> OBBject[BaseModel]: - """Stock Peers. Company peers.""" + """Equity Peers. Company peers.""" return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/equity/openbb_equity/darkpool/__init__.py b/openbb_platform/extensions/equity/openbb_equity/darkpool/__init__.py new file mode 100644 index 000000000000..8b3133def59d --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/darkpool/__init__.py @@ -0,0 +1 @@ +"""Dark Pool.""" diff --git a/openbb_platform/extensions/equity/openbb_equity/darkpool/darkpool_router.py b/openbb_platform/extensions/equity/openbb_equity/darkpool/darkpool_router.py new file mode 100644 index 000000000000..a67181d89785 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/darkpool/darkpool_router.py @@ -0,0 +1,30 @@ +"""Dark Pool Router.""" +from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.provider_interface import ( + ExtraParams, + ProviderChoices, + StandardParams, +) +from openbb_core.app.query import Query +from openbb_core.app.router import Router +from pydantic import BaseModel + +router = Router(prefix="/darkpool") + +# pylint: disable=unused-argument + + +@router.command(model="OTCAggregate") +def otc( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Weekly aggregate trade data for Over The Counter deals. + + ATS and non-ATS) trading data for each ATS/firm + with trade reporting obligations under FINRA rules. + """ + return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/equity/openbb_equity/discovery/__init__.py b/openbb_platform/extensions/equity/openbb_equity/discovery/__init__.py new file mode 100644 index 000000000000..2e85c310105b --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/discovery/__init__.py @@ -0,0 +1 @@ +"""Discovery.""" diff --git a/openbb_platform/extensions/stocks/openbb_stocks/disc/disc_router.py b/openbb_platform/extensions/equity/openbb_equity/discovery/discovery_router.py similarity index 95% rename from openbb_platform/extensions/stocks/openbb_stocks/disc/disc_router.py rename to openbb_platform/extensions/equity/openbb_equity/discovery/discovery_router.py index 1b801fc30324..3db74c42d7bb 100644 --- a/openbb_platform/extensions/stocks/openbb_stocks/disc/disc_router.py +++ b/openbb_platform/extensions/equity/openbb_equity/discovery/discovery_router.py @@ -11,7 +11,7 @@ from openbb_core.app.router import Router from pydantic import BaseModel -router = Router(prefix="/disc") +router = Router(prefix="/discovery") @router.command(model="EquityGainers") @@ -58,8 +58,8 @@ def undervalued_large_caps( return OBBject(results=Query(**locals()).execute()) -@router.command(model="EquityUndervaluedGrowthEquities") -def undervalued_growth_equities( +@router.command(model="EquityUndervaluedGrowth") +def undervalued_growth( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -81,7 +81,7 @@ def aggressive_small_caps( @router.command(model="GrowthTechEquities") -def growth_tech_equities( +def growth_tech( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -117,7 +117,7 @@ def upcoming_release_days( return OBBject(results=Query(**locals()).execute()) -@router.command(model="DiscFilings") +@router.command(model="DiscoveryFilings") def filings( cc: CommandContext, provider_choices: ProviderChoices, diff --git a/openbb_platform/extensions/equity/openbb_equity/equity_router.py b/openbb_platform/extensions/equity/openbb_equity/equity_router.py new file mode 100644 index 000000000000..beece792fac7 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/equity_router.py @@ -0,0 +1,81 @@ +"""Equity Router.""" + +from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.provider_interface import ( + ExtraParams, + ProviderChoices, + StandardParams, +) +from openbb_core.app.query import Query +from openbb_core.app.router import Router +from pydantic import BaseModel + +from openbb_equity.calendar.calendar_router import router as calendar_router +from openbb_equity.compare.compare_router import router as compare_router +from openbb_equity.darkpool.darkpool_router import router as darkpool_router +from openbb_equity.discovery.discovery_router import router as discovery_router +from openbb_equity.estimates.estimates_router import router as estimates_router +from openbb_equity.fundamental.fundamental_router import router as fundamental_router +from openbb_equity.options.options_router import router as options_router +from openbb_equity.ownership.ownership_router import router as ownership_router +from openbb_equity.price.price_router import router as price_router +from openbb_equity.shorts.shorts_router import router as shorts_router + +router = Router(prefix="") +router.include_router(calendar_router) +router.include_router(compare_router) +router.include_router(estimates_router) +router.include_router(darkpool_router) +router.include_router(discovery_router) +router.include_router(fundamental_router) +router.include_router(options_router) +router.include_router(ownership_router) +router.include_router(price_router) +router.include_router(shorts_router) + +# pylint: disable=import-outside-toplevel, W0613:unused-argument + + +@router.command(model="CompanyNews") +def news( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Company News. Get news for one or more companies.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="EquitySearch") +def search( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Equity Search. Search for a company or stock ticker.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="EquityInfo") +def profile( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Equity Info. Get general price and performance metrics of a stock.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="MarketSnapshots") +def market_snapshots( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Get a current, complete, market snapshot.""" + return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/equity/openbb_equity/estimates/__init__.py b/openbb_platform/extensions/equity/openbb_equity/estimates/__init__.py new file mode 100644 index 000000000000..d68d27247744 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/estimates/__init__.py @@ -0,0 +1 @@ +"""Estimates.""" diff --git a/openbb_platform/extensions/equity/openbb_equity/estimates/estimates_router.py b/openbb_platform/extensions/equity/openbb_equity/estimates/estimates_router.py new file mode 100644 index 000000000000..eda8b7a08d8b --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/estimates/estimates_router.py @@ -0,0 +1,48 @@ +"""Estimates Router.""" +from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.provider_interface import ( + ExtraParams, + ProviderChoices, + StandardParams, +) +from openbb_core.app.query import Query +from openbb_core.app.router import Router +from pydantic import BaseModel + +router = Router(prefix="/estimates") + +# pylint: disable=unused-argument + + +@router.command(model="PriceTarget") +def price_target( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Price Target. Price target data.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="AnalystEstimates") +def historical( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Historical Analyst Estimates. Analyst stock recommendations.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="PriceTargetConsensus") +def consensus( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Price Target Consensus. Price target consensus data.""" + return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/equity/openbb_equity/fundamental/__init__.py b/openbb_platform/extensions/equity/openbb_equity/fundamental/__init__.py new file mode 100644 index 000000000000..3a15fb472b19 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/fundamental/__init__.py @@ -0,0 +1 @@ +"""Fundamentals.""" diff --git a/openbb_platform/extensions/stocks/openbb_stocks/fa/fa_router.py b/openbb_platform/extensions/equity/openbb_equity/fundamental/fundamental_router.py similarity index 70% rename from openbb_platform/extensions/stocks/openbb_stocks/fa/fa_router.py rename to openbb_platform/extensions/equity/openbb_equity/fundamental/fundamental_router.py index 2ab274806555..41e0c829a7c3 100644 --- a/openbb_platform/extensions/stocks/openbb_stocks/fa/fa_router.py +++ b/openbb_platform/extensions/equity/openbb_equity/fundamental/fundamental_router.py @@ -12,7 +12,18 @@ from openbb_core.app.router import Router from pydantic import BaseModel -router = Router(prefix="/fa") +router = Router(prefix="/fundamental") + + +@router.command(model="EquityValuationMultiples") +def multiples( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Equity Valuation Multiples. Valuation multiples for a stock ticker.""" + return OBBject(results=Query(**locals()).execute()) @router.command(model="BalanceSheet") @@ -59,30 +70,8 @@ def cash_growth( return OBBject(results=Query(**locals()).execute()) -@router.command(model="ExecutiveCompensation") -def comp( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Executive Compensation. Information about the executive compensation for a given company.""" # noqa: D401 - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="StockSplitCalendar") -def comsplit( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Split Calendar. Show Stock Split Calendar.""" - return OBBject(results=Query(**locals()).execute()) - - @router.command(model="HistoricalDividends") -def divs( +def dividends( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -92,19 +81,19 @@ def divs( return OBBject(results=Query(**locals()).execute()) -@router.command(model="EarningsCalendar") -def earning( +@router.command(model="CalendarEarnings") +def earnings( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, extra_params: ExtraParams, ) -> OBBject[BaseModel]: - """Earnings Calendar. Earnings calendar for a given company.""" + """Historical Earnings for a given company.""" return OBBject(results=Query(**locals()).execute()) @router.command(model="HistoricalEmployees") -def emp( +def employee_count( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -114,17 +103,6 @@ def emp( return OBBject(results=Query(**locals()).execute()) -@router.command(model="AnalystEstimates") -def est( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Analyst Estimates. Analyst stock recommendations.""" - return OBBject(results=Query(**locals()).execute()) - - @router.command(model="IncomeStatement") def income( cc: CommandContext, @@ -132,7 +110,7 @@ def income( standard_params: StandardParams, extra_params: ExtraParams, ) -> OBBject[BaseModel]: - """Income Statement. Report on a company's finanacial performance.""" + """Income Statement. Report on a company's financial performance.""" return OBBject(results=Query(**locals()).execute()) @@ -147,28 +125,6 @@ def income_growth( return OBBject(results=Query(**locals()).execute()) -@router.command(model="StockInsiderTrading") -def ins( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Insider Trading. Information about insider trading.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="InstitutionalOwnership") -def ins_own( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Institutional Ownership. Institutional ownership data.""" - return OBBject(results=Query(**locals()).execute()) - - @router.command(model="KeyMetrics") def metrics( cc: CommandContext, @@ -181,7 +137,7 @@ def metrics( @router.command(model="KeyExecutives") -def mgmt( +def management( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -191,47 +147,25 @@ def mgmt( return OBBject(results=Query(**locals()).execute()) -@router.command(model="CompanyOverview") -def overview( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Company Overview. General information about a company.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="StockOwnership") -def own( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Ownership. Information about the company ownership.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="PriceTargetConsensus") -def pt( +@router.command(model="ExecutiveCompensation") +def management_compensation( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, extra_params: ExtraParams, ) -> OBBject[BaseModel]: - """Price Target Consensus. Price target consensus data.""" + """Get Executive Compensation. Information about the executive compensation for a given company.""" return OBBject(results=Query(**locals()).execute()) -@router.command(model="PriceTarget") -def pta( +@router.command(model="CompanyOverview") +def overview( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, extra_params: ExtraParams, ) -> OBBject[BaseModel]: - """Price Target. Price target data.""" + """Company Overview. General information about a company.""" return OBBject(results=Query(**locals()).execute()) @@ -247,7 +181,7 @@ def ratios( @router.command(model="RevenueGeographic") -def revgeo( +def revenue_per_geography( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -258,7 +192,7 @@ def revgeo( @router.command(model="RevenueBusinessLine") -def revseg( +def revenue_per_segment( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -279,19 +213,8 @@ def filings( return OBBject(results=Query(**locals()).execute()) -@router.command(model="ShareStatistics") -def shrs( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Share Statistics. Share statistics for a given company.""" - return OBBject(results=Query(**locals()).execute()) - - @router.command(model="HistoricalStockSplits") -def split( +def historical_splits( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, diff --git a/openbb_platform/extensions/equity/openbb_equity/options/__init__.py b/openbb_platform/extensions/equity/openbb_equity/options/__init__.py new file mode 100644 index 000000000000..40c25febcec3 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/options/__init__.py @@ -0,0 +1 @@ +"""Options.""" diff --git a/openbb_platform/extensions/stocks/openbb_stocks/options/options_router.py b/openbb_platform/extensions/equity/openbb_equity/options/options_router.py similarity index 96% rename from openbb_platform/extensions/stocks/openbb_stocks/options/options_router.py rename to openbb_platform/extensions/equity/openbb_equity/options/options_router.py index 8dc64d3ec69e..2515a2499975 100644 --- a/openbb_platform/extensions/stocks/openbb_stocks/options/options_router.py +++ b/openbb_platform/extensions/equity/openbb_equity/options/options_router.py @@ -13,6 +13,8 @@ router = Router(prefix="/options") +# pylint: disable=unused-argument + @router.command(model="OptionsChains") def chains( diff --git a/openbb_platform/extensions/equity/openbb_equity/ownership/__init__.py b/openbb_platform/extensions/equity/openbb_equity/ownership/__init__.py new file mode 100644 index 000000000000..496ed5003ed9 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/ownership/__init__.py @@ -0,0 +1 @@ +"""Equity Ownership.""" diff --git a/openbb_platform/extensions/equity/openbb_equity/ownership/ownership_router.py b/openbb_platform/extensions/equity/openbb_equity/ownership/ownership_router.py new file mode 100644 index 000000000000..fae420d68a6d --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/ownership/ownership_router.py @@ -0,0 +1,60 @@ +"""Ownership Router.""" + +from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.provider_interface import ( + ExtraParams, + ProviderChoices, + StandardParams, +) +from openbb_core.app.query import Query +from openbb_core.app.router import Router +from pydantic import BaseModel + +router = Router(prefix="/ownership") + +# pylint: disable=unused-argument + + +@router.command(model="EquityOwnership") +def major_holders( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Equity Ownership. Information about the company ownership.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="InstitutionalOwnership") +def institutional( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Institutional Ownership. Institutional ownership data.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="StockInsiderTrading") +def insider_trading( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Stock Insider Trading. Information about insider trading.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="ShareStatistics") +def share_statistics( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Share Statistics. Share statistics for a given company.""" + return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/equity/openbb_equity/price/__init__.py b/openbb_platform/extensions/equity/openbb_equity/price/__init__.py new file mode 100644 index 000000000000..e210843604bb --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/price/__init__.py @@ -0,0 +1 @@ +"""Equity Price.""" diff --git a/openbb_platform/extensions/equity/openbb_equity/price/price_router.py b/openbb_platform/extensions/equity/openbb_equity/price/price_router.py new file mode 100644 index 000000000000..f1e2e53854c0 --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/price/price_router.py @@ -0,0 +1,60 @@ +"""Price Router.""" + +from openbb_core.app.model.command_context import CommandContext +from openbb_core.app.model.obbject import OBBject +from openbb_core.app.provider_interface import ( + ExtraParams, + ProviderChoices, + StandardParams, +) +from openbb_core.app.query import Query +from openbb_core.app.router import Router +from pydantic import BaseModel + +router = Router(prefix="/price") + +# pylint: disable=unused-argument + + +@router.command(model="EquityQuote") +def quote( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Equity Quote. Load stock data for a specific ticker.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="EquityNBBO") +def nbbo( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Equity Quote. Load National Best Bid and Offer for a specific equity.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="EquityHistorical") +def historical( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Equity Historical price. Load stock data for a specific ticker.""" + return OBBject(results=Query(**locals()).execute()) + + +@router.command(model="PricePerformance") +def performance( + cc: CommandContext, + provider_choices: ProviderChoices, + standard_params: StandardParams, + extra_params: ExtraParams, +) -> OBBject[BaseModel]: + """Price performance as a return, over different periods.""" + return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/stocks/openbb_stocks/py.typed b/openbb_platform/extensions/equity/openbb_equity/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/py.typed rename to openbb_platform/extensions/equity/openbb_equity/py.typed diff --git a/openbb_platform/extensions/equity/openbb_equity/shorts/__init__.py b/openbb_platform/extensions/equity/openbb_equity/shorts/__init__.py new file mode 100644 index 000000000000..bd8609b9f44b --- /dev/null +++ b/openbb_platform/extensions/equity/openbb_equity/shorts/__init__.py @@ -0,0 +1 @@ +"""Shorts.""" diff --git a/openbb_platform/extensions/stocks/openbb_stocks/dps/dps_router.py b/openbb_platform/extensions/equity/openbb_equity/shorts/shorts_router.py similarity index 70% rename from openbb_platform/extensions/stocks/openbb_stocks/dps/dps_router.py rename to openbb_platform/extensions/equity/openbb_equity/shorts/shorts_router.py index 74915ea7bc60..da418d6c2c35 100644 --- a/openbb_platform/extensions/stocks/openbb_stocks/dps/dps_router.py +++ b/openbb_platform/extensions/equity/openbb_equity/shorts/shorts_router.py @@ -1,4 +1,4 @@ -"""Dark Pool Shorts (DPS) Router.""" +"""Shorts Router.""" from openbb_core.app.model.command_context import CommandContext from openbb_core.app.model.obbject import OBBject from openbb_core.app.provider_interface import ( @@ -10,13 +10,13 @@ from openbb_core.app.router import Router from pydantic import BaseModel -router = Router(prefix="/dps") +router = Router(prefix="/shorts") # pylint: disable=unused-argument -@router.command(model="StockFTD") -def ftd( +@router.command(model="EquityFTD") +def fails_to_deliver( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, @@ -46,18 +46,3 @@ def short_interest( ) -> OBBject[BaseModel]: """Get reported Short Volume and Days to Cover data.""" return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="OTCAggregate") -def otc( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Weekly aggregate trade data for OTC. - - ATS and non-ATS) trading data for each ATS/firm - with trade reporting obligations under FINRA rules. - """ - return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/stocks/poetry.lock b/openbb_platform/extensions/equity/poetry.lock similarity index 100% rename from openbb_platform/extensions/stocks/poetry.lock rename to openbb_platform/extensions/equity/poetry.lock diff --git a/openbb_platform/extensions/stocks/pyproject.toml b/openbb_platform/extensions/equity/pyproject.toml similarity index 65% rename from openbb_platform/extensions/stocks/pyproject.toml rename to openbb_platform/extensions/equity/pyproject.toml index 0d919a243956..74d7c6264987 100644 --- a/openbb_platform/extensions/stocks/pyproject.toml +++ b/openbb_platform/extensions/equity/pyproject.toml @@ -1,10 +1,10 @@ [tool.poetry] -name = "openbb-stocks" +name = "openbb-equity" version = "0.1.0a4" -description = "Stocks extension for OpenBB" +description = "Equity extension for OpenBB" authors = ["OpenBB Team "] readme = "README.md" -packages = [{ include = "openbb_stocks" }] +packages = [{ include = "openbb_equity" }] [tool.poetry.dependencies] python = "^3.8" @@ -15,4 +15,4 @@ requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.plugins."openbb_core_extension"] -stocks = "openbb_stocks.stocks_router:router" +equity = "openbb_equity.equity_router:router" diff --git a/openbb_platform/extensions/stocks/tests/.gitkeep b/openbb_platform/extensions/equity/tests/.gitkeep similarity index 100% rename from openbb_platform/extensions/stocks/tests/.gitkeep rename to openbb_platform/extensions/equity/tests/.gitkeep diff --git a/openbb_platform/extensions/etf/integration/test_etf_api.py b/openbb_platform/extensions/etf/integration/test_etf_api.py index 502c95419652..01cb2fbd0e75 100644 --- a/openbb_platform/extensions/etf/integration/test_etf_api.py +++ b/openbb_platform/extensions/etf/integration/test_etf_api.py @@ -240,7 +240,6 @@ def test_etf_disc_active(params, headers): "params", [ ({"symbol": "ioo"}), - ({"symbol": "misl", "provider": "fmp"}), ({"symbol": "silj", "provider": "fmp"}), ], ) diff --git a/openbb_platform/extensions/etf/integration/test_etf_python.py b/openbb_platform/extensions/etf/integration/test_etf_python.py index b8a88d02bf48..0777df95328a 100644 --- a/openbb_platform/extensions/etf/integration/test_etf_python.py +++ b/openbb_platform/extensions/etf/integration/test_etf_python.py @@ -227,7 +227,6 @@ def test_etf_disc_active(params, obb): "params", [ ({"symbol": "ioo"}), - ({"symbol": "misl", "provider": "fmp"}), ({"symbol": "silj", "provider": "fmp"}), ], ) diff --git a/openbb_platform/extensions/qa/integration/test_qa_api.py b/openbb_platform/extensions/qa/integration/test_qa_api.py index 2b5a388c9c0b..8dd42efe2faf 100644 --- a/openbb_platform/extensions/qa/integration/test_qa_api.py +++ b/openbb_platform/extensions/qa/integration/test_qa_api.py @@ -8,7 +8,9 @@ from openbb_core.env import Env from openbb_provider.utils.helpers import get_querystring -data = {} +# pylint:disable=redefined-outer-name + +data: dict = {} def get_headers(): @@ -23,14 +25,9 @@ def get_headers(): return data["headers"] -def get_data(menu: Literal["stocks", "crypto"]): - funcs = {"stocks": get_stocks_data, "crypto": get_crypto_data} - return funcs[menu]() - - def request_data(menu: str, symbol: str, provider: str): """Randomly pick a symbol and a provider and get data from the selected menu.""" - url = f"http://0.0.0.0:8000/api/v1/{menu}/load?symbol={symbol}&provider={provider}" + url = f"http://0.0.0.0:8000/api/v1/{menu}/price/historical?symbol={symbol}&provider={provider}" result = requests.get(url, headers=get_headers(), timeout=10) return result.json()["results"] @@ -42,7 +39,7 @@ def get_stocks_data(): symbol = random.choice(["AAPL", "NVDA", "MSFT", "TSLA", "AMZN", "V"]) # noqa: S311 provider = random.choice(["fmp", "polygon", "yfinance"]) # noqa: S311 - data["stocks_data"] = request_data("stocks", symbol=symbol, provider=provider) + data["stocks_data"] = request_data("equity", symbol=symbol, provider=provider) return data["stocks_data"] @@ -62,10 +59,15 @@ def get_crypto_data(): return data["crypto_data"] +def get_data(menu: Literal["equity", "crypto"]): + funcs = {"equity": get_stocks_data, "crypto": get_crypto_data} + return funcs[menu]() + + @pytest.mark.parametrize( "params, data_type", [ - ({"data": "", "target": "close"}, "stocks"), + ({"data": "", "target": "close"}, "equity"), ({"data": "", "target": "high"}, "crypto"), ], ) @@ -84,7 +86,7 @@ def test_qa_normality(params, data_type): @pytest.mark.parametrize( "params, data_type", [ - ({"data": "", "target": "high"}, "stocks"), + ({"data": "", "target": "high"}, "equity"), ({"data": "", "target": "high"}, "crypto"), ], ) @@ -110,7 +112,7 @@ def test_qa_capm(params, data_type): "threshold_start": "", "threshold_end": "", }, - "stocks", + "equity", ), ( { @@ -138,7 +140,7 @@ def test_qa_om(params, data_type): @pytest.mark.parametrize( "params, data_type", [ - ({"data": "", "target": "close", "window": "5"}, "stocks"), + ({"data": "", "target": "close", "window": "5"}, "equity"), ({"data": "", "target": "high", "window": "10"}, "crypto"), ], ) @@ -164,7 +166,7 @@ def test_qa_kurtosis(params, data_type): "fuller_reg": "c", "kpss_reg": "ct", }, - "stocks", + "equity", ), ( { @@ -192,7 +194,7 @@ def test_qa_unitroot(params, data_type): @pytest.mark.parametrize( "params, data_type", [ - ({"data": "", "target": "close", "rfr": "", "window": ""}, "stocks"), + ({"data": "", "target": "close", "rfr": "", "window": ""}, "equity"), ({"data": "", "target": "high", "rfr": "0.5", "window": "250"}, "crypto"), ], ) @@ -219,7 +221,7 @@ def test_qa_sh(params, data_type): "window": "", "adjusted": "", }, - "stocks", + "equity", ), ( { @@ -248,7 +250,7 @@ def test_qa_so(params, data_type): @pytest.mark.parametrize( "params, data_type", [ - ({"data": "", "target": "close", "window": "220"}, "stocks"), + ({"data": "", "target": "close", "window": "220"}, "equity"), ], ) @pytest.mark.integration @@ -273,7 +275,7 @@ def test_qa_skew(params, data_type): "window": "10", "quantile_pct": "", }, - "stocks", + "equity", ), ( { @@ -301,7 +303,7 @@ def test_qa_quantile(params, data_type): @pytest.mark.parametrize( "params, data_type", [ - ({"data": "", "target": "close"}, "stocks"), + ({"data": "", "target": "close"}, "equity"), ({"data": "", "target": "high"}, "crypto"), ], ) diff --git a/openbb_platform/extensions/qa/integration/test_qa_python.py b/openbb_platform/extensions/qa/integration/test_qa_python.py index 44bb90696539..bf0bbd68fb6d 100644 --- a/openbb_platform/extensions/qa/integration/test_qa_python.py +++ b/openbb_platform/extensions/qa/integration/test_qa_python.py @@ -6,16 +6,19 @@ from openbb_core.app.model.obbject import OBBject +# pylint:disable=inconsistent-return-statements @pytest.fixture(scope="session") def obb(pytestconfig): """Fixture to setup obb.""" if pytestconfig.getoption("markexpr") != "not integration": - import openbb + import openbb # pylint:disable=import-outside-toplevel return openbb.obb -data = {} +# pylint:disable=redefined-outer-name + +data: dict = {} def get_stocks_data(): @@ -27,7 +30,7 @@ def get_stocks_data(): symbol = random.choice(["AAPL", "NVDA", "MSFT", "TSLA", "AMZN", "V"]) # noqa: S311 provider = random.choice(["fmp", "polygon", "yfinance"]) # noqa: S311 - data["stocks_data"] = openbb.obb.stocks.load( + data["stocks_data"] = openbb.obb.equity.price.historical( symbol=symbol, provider=provider ).results return data["stocks_data"] @@ -43,7 +46,7 @@ def get_crypto_data(): symbol = random.choice(["BTC"]) # noqa: S311 provider = random.choice(["fmp"]) # noqa: S311 - data["crypto_data"] = openbb.obb.crypto.load( + data["crypto_data"] = openbb.obb.crypto.price.historical( symbol=symbol, provider=provider ).results return data["crypto_data"] diff --git a/openbb_platform/extensions/stocks/openbb_stocks/gov/gov_router.py b/openbb_platform/extensions/stocks/openbb_stocks/gov/gov_router.py deleted file mode 100644 index 987e8e2002d0..000000000000 --- a/openbb_platform/extensions/stocks/openbb_stocks/gov/gov_router.py +++ /dev/null @@ -1,6 +0,0 @@ -"""Due Diligence Router.""" - - -from openbb_core.app.router import Router - -router = Router(prefix="/gov") diff --git a/openbb_platform/extensions/stocks/openbb_stocks/ins/ins_router.py b/openbb_platform/extensions/stocks/openbb_stocks/ins/ins_router.py deleted file mode 100644 index fa44e79cb678..000000000000 --- a/openbb_platform/extensions/stocks/openbb_stocks/ins/ins_router.py +++ /dev/null @@ -1,6 +0,0 @@ -"""Due Diligence Router.""" - - -from openbb_core.app.router import Router - -router = Router(prefix="/ins") diff --git a/openbb_platform/extensions/stocks/openbb_stocks/options/__init__.py b/openbb_platform/extensions/stocks/openbb_stocks/options/__init__.py deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/openbb_platform/extensions/stocks/openbb_stocks/stocks_router.py b/openbb_platform/extensions/stocks/openbb_stocks/stocks_router.py deleted file mode 100644 index fe405c5182a0..000000000000 --- a/openbb_platform/extensions/stocks/openbb_stocks/stocks_router.py +++ /dev/null @@ -1,154 +0,0 @@ -# pylint: disable=import-outside-toplevel, W0613:unused-argument -"""Stocks Router.""" - -from openbb_core.app.model.command_context import CommandContext -from openbb_core.app.model.obbject import OBBject -from openbb_core.app.provider_interface import ( - ExtraParams, - ProviderChoices, - StandardParams, -) -from openbb_core.app.query import Query -from openbb_core.app.router import Router -from pydantic import BaseModel - -from openbb_stocks.ca.ca_router import router as ca_router -from openbb_stocks.disc.disc_router import router as disc_router - -# TODO: Uncomment once they have some commands. -# from openbb_stocks.gov.gov_router import router as gov_router -# from openbb_stocks.ins.ins_router import router as ins_router -from openbb_stocks.dps.dps_router import router as dps_router -from openbb_stocks.fa.fa_router import router as fa_router -from openbb_stocks.options.options_router import router as options_router - -router = Router(prefix="") -router.include_router(fa_router) -router.include_router(ca_router) -router.include_router(options_router) -router.include_router(disc_router) - -router.include_router(dps_router) -# router.include_router(gov_router) -# router.include_router(ins_router) - - -@router.command(model="StockHistorical") -def load( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Historical price. Load stock data for a specific ticker.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="CompanyNews") -def news( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Company News. Get news for one or more companies.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="StockMultiples") -def multiples( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Multiples. Valuation multiples for a stock ticker.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="StockSearch") -def search( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Search. Search for a company or stock ticker.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="StockQuote") -def quote( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Quote. Load stock data for a specific ticker.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="StockInfo") -def info( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Info. Get general price and performance metrics of a stock.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="StockNBBO") -def nbbo( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Stock Quote. Load stock data for a specific ticker.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="PricePerformance") -def price_performance( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Price performance as a return, over different periods.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="CalendarIpo") -def calendar_ipo( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Upcoming and Historical IPO Calendar.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="CalendarDividend") -def calendar_dividend( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Upcoming and Historical Dividend Calendar.""" - return OBBject(results=Query(**locals()).execute()) - - -@router.command(model="MarketSnapshots") -def market_snapshots( - cc: CommandContext, - provider_choices: ProviderChoices, - standard_params: StandardParams, - extra_params: ExtraParams, -) -> OBBject[BaseModel]: - """Get a current, complete, market snapshot.""" - return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/extensions/ta/integration/test_ta_api.py b/openbb_platform/extensions/ta/integration/test_ta_api.py index 73ac7773eb23..12b7826be56c 100644 --- a/openbb_platform/extensions/ta/integration/test_ta_api.py +++ b/openbb_platform/extensions/ta/integration/test_ta_api.py @@ -8,7 +8,7 @@ from openbb_core.env import Env from openbb_provider.utils.helpers import get_querystring -data = {} +data: dict = {} def get_headers(): @@ -32,7 +32,7 @@ def get_data(menu: Literal["stocks", "crypto"]): def request_data(menu: str, symbol: str, provider: str): """Randomly pick a symbol and a provider and get data from the selected menu.""" - url = f"http://0.0.0.0:8000/api/v1/{menu}/load?symbol={symbol}&provider={provider}" + url = f"http://0.0.0.0:8000/api/v1/{menu}/price/historical?symbol={symbol}&provider={provider}" result = requests.get(url, headers=get_headers(), timeout=10) return result.json()["results"] @@ -45,7 +45,7 @@ def get_stocks_data(): symbol = random.choice(["AAPL", "NVDA", "MSFT", "TSLA", "AMZN", "V"]) # noqa: S311 provider = random.choice(["fmp", "polygon", "yfinance"]) # noqa: S311 - data["stocks_data"] = request_data("stocks", symbol=symbol, provider=provider) + data["stocks_data"] = request_data("equity", symbol=symbol, provider=provider) return data["stocks_data"] diff --git a/openbb_platform/extensions/ta/integration/test_ta_python.py b/openbb_platform/extensions/ta/integration/test_ta_python.py index aecf55bf1913..793cfdcdf24d 100644 --- a/openbb_platform/extensions/ta/integration/test_ta_python.py +++ b/openbb_platform/extensions/ta/integration/test_ta_python.py @@ -6,16 +6,19 @@ from openbb_core.app.model.obbject import OBBject +# pylint:disable=inconsistent-return-statements @pytest.fixture(scope="session") def obb(pytestconfig): """Fixture to setup obb.""" if pytestconfig.getoption("markexpr") != "not integration": - import openbb + import openbb # pylint:disable=import-outside-toplevel return openbb.obb -data = {} +# pylint:disable=redefined-outer-name + +data: dict = {} def get_stocks_data(): @@ -27,7 +30,7 @@ def get_stocks_data(): symbol = random.choice(["AAPL", "NVDA", "MSFT", "TSLA", "AMZN", "V"]) # noqa: S311 provider = random.choice(["fmp", "polygon", "yfinance"]) # noqa: S311 - data["stocks_data"] = openbb.obb.stocks.load( + data["stocks_data"] = openbb.obb.equity.price.historical( symbol=symbol, provider=provider ).results return data["stocks_data"] @@ -43,7 +46,7 @@ def get_crypto_data(): symbol = random.choice(["BTC"]) # noqa: S311 provider = random.choice(["fmp"]) # noqa: S311 - data["crypto_data"] = openbb.obb.crypto.load( + data["crypto_data"] = openbb.obb.crypto.price.historical( symbol=symbol, provider=provider ).results return data["crypto_data"] diff --git a/openbb_platform/extensions/ta/openbb_ta/ta_router.py b/openbb_platform/extensions/ta/openbb_ta/ta_router.py index 87049ccc9438..ae760cb7ad28 100644 --- a/openbb_platform/extensions/ta/openbb_ta/ta_router.py +++ b/openbb_platform/extensions/ta/openbb_ta/ta_router.py @@ -1,3 +1,4 @@ +"""Technical Analysis Router.""" from typing import List, Literal, Optional import pandas as pd @@ -32,9 +33,9 @@ def atr( drift: NonNegativeInt = 1, offset: int = 0, ) -> OBBject[List[Data]]: - """ - Average True Range is used to measure volatility, especially volatility caused by - gaps or limit moves. + """Average True Range. + + Used to measure volatility, especially volatility caused by gaps or limit moves. Parameters ---------- @@ -59,10 +60,9 @@ def atr( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> atr_data = obb.ta.atr(data=stock_data.results) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low", "close"]) df_atr = pd.DataFrame( @@ -102,10 +102,9 @@ def fib( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> fib_data = obb.ta.fib(data=stock_data.results, period=120) """ - df = basemodel_to_df(data, index=index) ( @@ -140,11 +139,11 @@ def obv( index: str = "date", offset: int = 0, ) -> OBBject[List[Data]]: - """ - The On Balance Volume (OBV) is a cumulative total of the up and - down volume. When the close is higher than the previous close, the volume is added - to the running total, and when the close is lower than the previous close, the volume - is subtracted from the running total. + """On Balance Volume (OBV). + + Is a cumulative total of the up and down volume. When the close is higher than the + previous close, the volume is added to the running total, and when the close is + lower than the previous close, the volume is subtracted from the running total. To interpret the OBV, look for the OBV to move with the price or precede price moves. If the price moves before the OBV, then it is a non-confirmed move. A series of rising peaks, @@ -168,10 +167,9 @@ def obv( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> obv_data = obb.ta.obv(data=stock_data.results, offset=0) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["close", "volume"]) df_obv = pd.DataFrame(df_target.ta.obv(offset=offset)) @@ -188,12 +186,13 @@ def fisher( length: PositiveInt = 14, signal: PositiveInt = 1, ) -> OBBject[List[Data]]: - """ - The Fisher Transform is a technical indicator created by John F. Ehlers - that converts prices into a Gaussian normal distribution.1 The indicator - highlights when prices have moved to an extreme, based on recent prices. - This may help in spotting turning points in the price of an asset. It also - helps show the trend and isolate the price waves within a trend. + """Fisher Transform. + + A technical indicator created by John F. Ehlers that converts prices into a Gaussian + normal distribution. The indicator highlights when prices have moved to an extreme, + based on recent prices. + This may help in spotting turning points in the price of an asset. It also helps + show the trend and isolate the price waves within a trend. Parameters ---------- @@ -214,10 +213,9 @@ def fisher( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> fisher_data = obb.ta.fisher(data=stock_data.results, length=14, signal=1) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low"]) df_fisher = pd.DataFrame(df_target.ta.fisher(length=length, signal=signal)) @@ -235,9 +233,11 @@ def adosc( slow: PositiveInt = 10, offset: int = 0, ) -> OBBject[List[Data]]: - """ - Accumulation/Distribution Oscillator, also known as the Chaikin Oscillator - is essentially a momentum indicator, but of the Accumulation-Distribution line + """Accumulation/Distribution Oscillator. + + Also known as the Chaikin Oscillator. + + Essentially a momentum indicator, but of the Accumulation-Distribution line rather than merely price. It looks at both the strength of price moves and the underlying buying and selling pressure during a given time period. The oscillator reading above zero indicates net buying pressure, while one below zero registers @@ -262,10 +262,9 @@ def adosc( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> adosc_data = obb.ta.adosc(data=stock_data.results, fast=3, slow=10, offset=0) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low", "close", "volume", "open"]) df_adosc = pd.DataFrame(df_target.ta.adosc(fast=fast, slow=slow, offset=offset)) @@ -285,10 +284,11 @@ def bbands( mamode: Literal["sma", "ema", "wma", "rma"] = "sma", offset: int = 0, ) -> OBBject[List[Data]]: - """ - Bollinger Bands consist of three lines. The middle band is a simple - moving average (generally 20 periods) of the typical price (TP). The upper and lower - bands are F standard deviations (generally 2) above and below the middle band. + """Bollinger Bands. + + Consist of three lines. The middle band is a simple moving average (generally 20 + periods) of the typical price (TP). The upper and lower bands are F standard + deviations (generally 2) above and below the middle band. The bands widen and narrow when the volatility of the price is higher or lower, respectively. @@ -324,12 +324,11 @@ def bbands( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> bbands = obb.ta.bbands( >>> data=stock_data.results, target="close", length=50, std=2, mamode="sma", offset=0 >>> ) """ - df = basemodel_to_df(data, index=index) df_target = get_target_column(df, target).to_frame() bbands_df = pd.DataFrame( @@ -356,9 +355,9 @@ def zlma( length: int = 50, offset: int = 0, ) -> OBBject[List[Data]]: - """ - The zero lag exponential moving average (ZLEMA) indicator - was created by John Ehlers and Ric Way. The idea is do a + """The zero lag exponential moving average (ZLEMA). + + Created by John Ehlers and Ric Way. The idea is do a regular exponential moving average (EMA) calculation but on a de-lagged data instead of doing it on the regular data. Data is de-lagged by removing the data from "lag" days ago @@ -386,7 +385,7 @@ def zlma( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> zlma_data = obb.ta.zlma(data=stock_data.results, target="close", length=50, offset=0) """ df = basemodel_to_df(data, index=index) @@ -412,7 +411,8 @@ def aroon( length: int = 25, scalar: int = 100, ) -> OBBject[List[Data]]: - """ + """Aroon Indicator. + The word aroon is Sanskrit for "dawn's early light." The Aroon indicator attempts to show when a new trend is dawning. The indicator consists of two lines (Up and Down) that measure how long it has been since the highest @@ -444,7 +444,7 @@ def aroon( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> aroon_data = obb.ta.aroon(data=stock_data.results, length=25, scalar=100) """ df = basemodel_to_df(data, index=index) @@ -464,7 +464,8 @@ def sma( length: int = 50, offset: int = 0, ) -> OBBject[List[Data]]: - """ + """Simple Moving Average. + Moving Averages are used to smooth the data in an array to help eliminate noise and identify trends. The Simple Moving Average is literally the simplest form of a moving average. Each output value is the average of the @@ -494,7 +495,7 @@ def sma( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> sma_data = obb.ta.sma(data=stock_data.results,target="close",length=50,offset=0) """ df = basemodel_to_df(data, index=index) @@ -522,8 +523,7 @@ def demark( asint: bool = True, offset: int = 0, ) -> OBBject[List[Data]]: - """ - Demark sequential indicator + """Demark sequential indicator. Parameters ---------- @@ -548,13 +548,15 @@ def demark( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> demark_data = obb.ta.demark(data=stock_data.results,offset=0) """ df = basemodel_to_df(data, index=index) df_target = get_target_column(df, target).to_frame() - demark = ta.td_seq(df_target[target], asint=asint, show_all=show_all, offset=offset) - demark_df = df[[target]].reset_index().join(demark) + _demark = ta.td_seq( + df_target[target], asint=asint, show_all=show_all, offset=offset + ) + demark_df = df[[target]].reset_index().join(_demark) results = df_to_basemodel(demark_df) return OBBject(results=results) @@ -567,9 +569,10 @@ def vwap( anchor: str = "D", offset: int = 0, ) -> OBBject[List[Data]]: - """ - The Volume Weighted Average Price that measures the average typical price - by volume. It is typically used with intraday charts to identify general direction. + """The Volume Weighted Average Price. + + Measures the average typical price by volume. + It is typically used with intraday charts to identify general direction. Parameters ---------- @@ -592,10 +595,9 @@ def vwap( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> vwap_data = obb.ta.vwap(data=stock_data.results,anchor="D",offset=0) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low", "close", "volume"]) df_vwap = pd.DataFrame(df_target.ta.vwap(anchor=anchor, offset=offset).dropna()) @@ -614,10 +616,10 @@ def macd( slow: int = 26, signal: int = 9, ) -> OBBject[List[Data]]: - """ - The Moving Average Convergence Divergence (MACD) is the difference - between two Exponential Moving Averages. The Signal line is an Exponential Moving - Average of the MACD. + """The Moving Average Convergence Divergence (MACD). + + Difference between two Exponential Moving Averages. The Signal line is an + Exponential Moving Average of the MACD. The MACD signals trend changes and indicates the start of new trend direction. High values indicate overbought conditions, low values indicate oversold conditions. @@ -648,7 +650,7 @@ def macd( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> macd_data = obb.ta.macd(data=stock_data.results,target="close",fast=12,slow=26,signal=9) """ df = basemodel_to_df(data, index=index) @@ -676,9 +678,10 @@ def hma( length: int = 50, offset: int = 0, ) -> OBBject[List[Data]]: - """ - The Hull Moving Average solves the age old dilemma of making a moving average - more responsive to current price activity whilst maintaining curve smoothness. + """The Hull Moving Average. + + Solves the age old dilemma of making a moving average more responsive to current + price activity whilst maintaining curve smoothness. In fact the HMA almost eliminates lag altogether and manages to improve smoothing at the same time. @@ -703,7 +706,7 @@ def hma( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> hma_data = obb.ta.hma(data=stock_data.results,target="close",length=50,offset=0) """ df = basemodel_to_df(data, index=index) @@ -730,11 +733,11 @@ def donchian( upper_length: PositiveInt = 20, offset: int = 0, ) -> OBBject[List[Data]]: - """ - Donchian Channels are three lines generated by moving average - calculations that comprise an indicator formed by upper and lower - bands around a midrange or median band. The upper band marks the - highest price of a security over N periods while the lower band + """Donchian Channels. + + Three lines generated by moving average calculations that comprise an indicator + formed by upper and lower bands around a midrange or median band. The upper band + marks the highest price of a security over N periods while the lower band marks the lowest price of a security over N periods. The area between the upper and lower bands represents the Donchian Channel. @@ -759,10 +762,9 @@ def donchian( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> donchian_data = obb.ta.donchian(data=stock_data.results,lower_length=20,upper_length=20,offset=0) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low"]) donchian_df = pd.DataFrame( @@ -786,11 +788,13 @@ def ichimoku( offset: PositiveInt = 26, lookahead: bool = False, ) -> OBBject[List[Data]]: - """ - The Ichimoku Cloud, also known as Ichimoku Kinko Hyo, is a versatile indicator that - defines support and resistance, identifies trend direction, gauges momentum and provides - trading signals. Ichimoku Kinko Hyo translates into "one look equilibrium chart". With - one look, chartists can identify the trend and look for potential signals within that trend. + """The Ichimoku Cloud. + + Also known as Ichimoku Kinko Hyo, is a versatile indicator that defines support and + resistance, identifies trend direction, gauges momentum and provides trading + signals. Ichimoku Kinko Hyo translates into "one look equilibrium chart". With + one look, chartists can identify the trend and look for potential signals within + that trend. Parameters ---------- @@ -809,7 +813,6 @@ def ichimoku( lookahead : bool, optional drops the Chikou Span Column to prevent potential data leak """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low", "close"]) df_ichimoku, df_span = df_target.ta.ichimoku( @@ -835,8 +838,7 @@ def clenow( target: str = "close", period: PositiveInt = 90, ) -> OBBject[List[Data]]: - """ - Clenow Volatility Adjusted Momentum. + """Clenow Volatility Adjusted Momentum. Parameters ---------- @@ -857,10 +859,9 @@ def clenow( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> clenow_data = obb.ta.clenow(data=stock_data.results,period=90) """ - df = basemodel_to_df(data, index=index) df_target = get_target_column(df, target) @@ -882,12 +883,13 @@ def clenow( @router.command(methods=["POST"]) def ad(data: List[Data], index: str = "date", offset: int = 0) -> OBBject[List[Data]]: - """ - The Accumulation/Distribution Line is similar to the On Balance - Volume (OBV), which sums the volume times +1/-1 based on whether the close is - higher than the previous close. The Accumulation/Distribution indicator, however - multiplies the volume by the close location value (CLV). The CLV is based on the - movement of the issue within a single bar and can be +1, -1 or zero. + """The Accumulation/Distribution Line. + + Similar to the On Balance Volume (OBV). + Sums the volume times +1/-1 based on whether the close is higher than the previous + close. The Accumulation/Distribution indicator, however multiplies the volume by the + close location value (CLV). The CLV is based on the movement of the issue within a + single bar and can be +1, -1 or zero. The Accumulation/Distribution Line is interpreted by looking for a divergence in @@ -912,10 +914,9 @@ def ad(data: List[Data], index: str = "date", offset: int = 0) -> OBBject[List[D Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> ad_data = obb.ta.ad(data=stock_data.results,offset=0) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low", "close", "volume"]) ad_df = pd.DataFrame(df_target.ta.ad(offset=offset).dropna()) @@ -933,7 +934,8 @@ def adx( scalar: float = 100.0, drift: int = 1, ) -> OBBject[List[Data]]: - """ + """ADX. + The ADX is a Welles Wilder style moving average of the Directional Movement Index (DX). The values range from 0 to 100, but rarely get above 60. To interpret the ADX, consider a high number to be a strong trend, and a low number, a weak trend. @@ -959,7 +961,7 @@ def adx( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> adx_data = obb.ta.adx(data=stock_data.results,length=50,scalar=100.0,drift=1) """ df = basemodel_to_df(data, index=index) @@ -981,7 +983,8 @@ def wma( length: int = 50, offset: int = 0, ) -> OBBject[List[Data]]: - """ + """Weighted Moving Average. + A Weighted Moving Average puts more weight on recent data and less on past data. This is done by multiplying each bar's price by a weighting factor. Because of its unique calculation, WMA will follow prices more closely than a corresponding Simple @@ -1008,7 +1011,7 @@ def wma( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> wma_data = obb.ta.wma(data=stock_data.results, target="close", length=50, offset=0) """ df = basemodel_to_df(data, index=index) @@ -1034,7 +1037,8 @@ def cci( length: PositiveInt = 14, scalar: PositiveFloat = 0.015, ) -> OBBject[List[Data]]: - """ + """Commodity Channel Index (CCI). + The CCI is designed to detect beginning and ending market trends. The range of 100 to -100 is the normal trading range. CCI values outside of this range indicate overbought or oversold conditions. You can also look for price @@ -1057,7 +1061,6 @@ def cci( OBBject[List[Data]] The CCI data. """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["close", "high", "low"]) cci_df = pd.DataFrame(df_target.ta.cci(length=length, scalar=scalar).dropna()) @@ -1076,10 +1079,11 @@ def rsi( scalar: float = 100.0, drift: int = 1, ) -> OBBject[List[Data]]: - """ - The Relative Strength Index (RSI) calculates a ratio of the - recent upward price movements to the absolute price movement. The RSI ranges - from 0 to 100. The RSI is interpreted as an overbought/oversold indicator when + """Relative Strength Index (RSI). + + RSI calculates a ratio of the recent upward price movements to the absolute price + movement. The RSI ranges from 0 to 100. + The RSI is interpreted as an overbought/oversold indicator when the value is over 70/below 30. You can also look for divergence with price. If the price is making new highs/lows, and the RSI is not, it indicates a reversal. @@ -1106,7 +1110,7 @@ def rsi( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> rsi_data = obb.ta.rsi(data=stock_data.results, target="close", length=14, scalar=100.0, drift=1) """ df = basemodel_to_df(data, index=index) @@ -1134,7 +1138,8 @@ def stoch( slow_d_period: NonNegativeInt = 3, slow_k_period: NonNegativeInt = 3, ) -> OBBject[List[Data]]: - """ + """Stochastic Oscillator. + The Stochastic Oscillator measures where the close is in relation to the recent trading range. The values range from zero to 100. %D values over 75 indicate an overbought condition; values under 25 indicate an oversold condition. @@ -1163,10 +1168,9 @@ def stoch( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> stoch_data = obb.ta.stoch(data=stock_data.results, fast_k_period=14, slow_d_period=3, slow_k_period=3) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["close", "high", "low"]) stoch_df = pd.DataFrame( @@ -1191,7 +1195,8 @@ def kc( mamode: Literal["ema", "sma", "wma", "hma", "zlma"] = "ema", offset: NonNegativeInt = 0, ) -> OBBject[List[Data]]: - """ + """Keltner Channels. + Keltner Channels are volatility-based bands that are placed on either side of an asset's price and can aid in determining the direction of a trend.The Keltner channel uses the average @@ -1221,10 +1226,9 @@ def kc( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> kc_data = obb.ta.kc(data=stock_data.results, length=20, scalar=20, mamode="ema", offset=0) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low", "close"]) kc_df = pd.DataFrame( @@ -1245,7 +1249,8 @@ def kc( def cg( data: List[Data], index: str = "date", length: PositiveInt = 14 ) -> OBBject[List[Data]]: - """ + """Center of Gravity. + The Center of Gravity indicator, in short, is used to anticipate future price movements and to trade on price reversals as soon as they happen. However, just like other oscillators, the COG indicator returns the best results in range-bound markets and should be avoided when @@ -1269,10 +1274,9 @@ def cg( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> cg_data = obb.ta.cg(data=stock_data.results, length=14) """ - df = basemodel_to_df(data, index=index) df_target = get_target_columns(df, ["high", "low", "close"]) cg_df = pd.DataFrame(df_target.ta.cg(length=length).dropna()) @@ -1345,10 +1349,9 @@ def cones( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> cones_data = obb.ta.cones(data=stock_data.results, lower_q=0.25, upper_q=0.75, model="STD") """ - if lower_q > upper_q: lower_q, upper_q = upper_q, lower_q @@ -1370,12 +1373,9 @@ def ema( length: int = 50, offset: int = 0, ) -> OBBject[List[Data]]: - """ - The Exponential Moving Average is a staple of technical - analysis and is used in countless technical indicators. In a Simple Moving - Average, each value in the time period carries equal weight, and values outside - of the time period are not included in the average. However, the Exponential - Moving Average is a cumulative calculation, including all data. Past values have + """Exponential Moving Average. + + EMA is a cumulative calculation, including all data. Past values have a diminishing contribution to the average, while more recent values have a greater contribution. This method allows the moving average to be more responsive to changes in the data. @@ -1401,7 +1401,7 @@ def ema( Examples -------- >>> from openbb import obb - >>> stock_data = obb.stocks.load(symbol="TSLA", start_date="2023-01-01", provider="fmp") + >>> stock_data = obb.equity.price.historical(symbol="TSLA", start_date="2023-01-01", provider="fmp") >>> ema_data = obb.ta.ema(data=stock_data.results,target="close",length=50,offset=0) """ diff --git a/openbb_platform/platform/core/integration/test_obbject.py b/openbb_platform/platform/core/integration/test_obbject.py index 5162661351b0..6b883fe36713 100644 --- a/openbb_platform/platform/core/integration/test_obbject.py +++ b/openbb_platform/platform/core/integration/test_obbject.py @@ -16,22 +16,26 @@ from openbb_charting.core.openbb_figure import OpenBBFigure +# pylint: disable=inconsistent-return-statements @pytest.fixture(scope="session") def obb(pytestconfig): """Fixture to setup obb.""" if pytestconfig.getoption("markexpr") != "not integration": - import openbb + import openbb # pylint: disable=import-outside-toplevel return openbb.obb +# pylint: disable=redefined-outer-name + + @pytest.mark.skipif("pandas" not in sys.modules, reason="pandas not installed") @pytest.mark.integration def test_to_dataframe(obb): """Test obbject to dataframe.""" - stocks_df = obb.stocks.load("AAPL", provider="fmp").to_dataframe() + stocks_df = obb.equity.price.historical("AAPL", provider="fmp").to_dataframe() assert isinstance(stocks_df, pd.DataFrame) @@ -40,7 +44,7 @@ def test_to_dataframe(obb): def test_to_polars(obb): """Test obbject to polars.""" - crypto_pl = obb.crypto.load("BTC-USD", provider="fmp").to_polars() + crypto_pl = obb.crypto.price.historical("BTC-USD", provider="fmp").to_polars() assert isinstance(crypto_pl, pl.DataFrame) @@ -70,7 +74,7 @@ def test_to_dict(obb): def test_to_chart(obb): """Test obbject to chart.""" - stocks_chart = obb.stocks.load("AAPL", provider="fmp").to_chart() + stocks_chart = obb.equity.price.historical("AAPL", provider="fmp").to_chart() assert isinstance(stocks_chart, OpenBBFigure) @@ -81,6 +85,6 @@ def test_to_chart(obb): def test_show(obb): """Test obbject to chart.""" - stocks_data = obb.stocks.load("AAPL", provider="fmp", chart=True) + stocks_data = obb.equity.price.historical("AAPL", provider="fmp", chart=True) assert isinstance(stocks_data.chart.fig, OpenBBFigure) assert stocks_data.chart.fig.show() is None diff --git a/openbb_platform/platform/core/openbb_core/app/provider_interface.py b/openbb_platform/platform/core/openbb_core/app/provider_interface.py index 4912a7aef101..e335de43dac4 100644 --- a/openbb_platform/platform/core/openbb_core/app/provider_interface.py +++ b/openbb_platform/platform/core/openbb_core/app/provider_interface.py @@ -437,7 +437,7 @@ def _generate_data_dc( Example: ------- - class StockHistoricalData(StandardData): + class EquityHistoricalData(StandardData): date: date open: PositiveFloat high: PositiveFloat diff --git a/openbb_platform/platform/core/tests/app/static/test_package_builder.py b/openbb_platform/platform/core/tests/app/static/test_package_builder.py index 17d132887de3..9097f786e24f 100644 --- a/openbb_platform/platform/core/tests/app/static/test_package_builder.py +++ b/openbb_platform/platform/core/tests/app/static/test_package_builder.py @@ -404,7 +404,7 @@ def test_build_path_list(path_list): def test_get_route(path_handler, route_map): """Test get route.""" - route = path_handler.get_route(route_map=route_map, path="/stocks/load") + route = path_handler.get_route(route_map=route_map, path="/equity/price/historical") assert route @@ -412,7 +412,7 @@ def test_get_route(path_handler, route_map): def test_get_child_path_list(path_handler, path_list): """Test get child path list.""" child_path_list = path_handler.get_child_path_list( - path="/stocks", path_list=path_list + path="/equity", path_list=path_list ) assert child_path_list diff --git a/openbb_platform/platform/core/tests/app/test_platform_router.py b/openbb_platform/platform/core/tests/app/test_platform_router.py index 67c256cd186c..dfde4b64da71 100644 --- a/openbb_platform/platform/core/tests/app/test_platform_router.py +++ b/openbb_platform/platform/core/tests/app/test_platform_router.py @@ -194,7 +194,7 @@ def sample_function( ) -> OBBject: pass - model = "StockHistorical" + model = "EquityHistorical" assert signature_inspector.complete_signature(sample_function, model) diff --git a/openbb_platform/platform/core/tests/app/test_provider_interface.py b/openbb_platform/platform/core/tests/app/test_provider_interface.py index 070a743bfdfe..934153990f13 100644 --- a/openbb_platform/platform/core/tests/app/test_provider_interface.py +++ b/openbb_platform/platform/core/tests/app/test_provider_interface.py @@ -24,7 +24,7 @@ def test_map(provider_interface): provider_interface_map = provider_interface.map assert isinstance(provider_interface_map, dict) assert len(provider_interface_map) > 0 - assert "StockHistorical" in provider_interface_map + assert "EquityHistorical" in provider_interface_map def test_required_credentials(provider_interface): @@ -46,7 +46,7 @@ def test_params(provider_interface): params = provider_interface.params assert isinstance(params, dict) assert len(params) > 0 - assert "StockHistorical" in params + assert "EquityHistorical" in params def test_data(provider_interface): @@ -54,7 +54,7 @@ def test_data(provider_interface): data = provider_interface.data assert isinstance(data, dict) assert len(data) > 0 - assert "StockHistorical" in data + assert "EquityHistorical" in data def test_available_providers(provider_interface): @@ -76,4 +76,4 @@ def test_models(provider_interface): models = provider_interface.models assert isinstance(models, list) assert len(models) > 0 - assert "StockHistorical" in models + assert "EquityHistorical" in models diff --git a/openbb_platform/platform/core/tests/app/test_query.py b/openbb_platform/platform/core/tests/app/test_query.py index 4d5055c6adec..53206d501921 100644 --- a/openbb_platform/platform/core/tests/app/test_query.py +++ b/openbb_platform/platform/core/tests/app/test_query.py @@ -24,26 +24,26 @@ class MockBaseModel(BaseModel): def create_mock_query(): """Mock query.""" - class StockHistorical: - """Mock StockHistorical class.""" + class EquityHistorical: + """Mock EquityHistorical class.""" start_date = "2020-01-01" end_date = "2020-01-05" symbol = "AAPL" - return StockHistorical() + return EquityHistorical() def create_mock_extra_params(): """Mock ExtraParams dataclass.""" @dataclass - class StockHistorical: + class EquityHistorical: """Mock ExtraParams dataclass.""" sort: str = "desc" - return StockHistorical() + return EquityHistorical() @pytest.fixture(scope="module") @@ -75,13 +75,13 @@ def test_filter_extra_params_wrong_param(query): """Test filter_extra_params.""" @dataclass - class StockHistorical: + class EquityHistorical: """Mock ExtraParams dataclass.""" sort: str = "desc" limit: int = 4 - extra_params = StockHistorical() + extra_params = EquityHistorical() extra = query.filter_extra_params(extra_params, "fmp") assert isinstance(extra, dict) @@ -108,7 +108,9 @@ def query_instance(): extra_params = create_mock_extra_params() cc = CommandContext() - setattr(cc.user_settings.credentials, "fmp_api_key", "1234") + setattr( + cc.user_settings.credentials, "fmp_api_key", "1234" # pylint: disable=no-member + ) return Query( cc=cc, diff --git a/openbb_platform/platform/provider/openbb_provider/query_executor.py b/openbb_platform/platform/provider/openbb_provider/query_executor.py index 9990a351338e..56e3ca5784e2 100644 --- a/openbb_platform/platform/provider/openbb_provider/query_executor.py +++ b/openbb_platform/platform/provider/openbb_provider/query_executor.py @@ -67,7 +67,7 @@ def execute( provider_name : str Name of the provider, for example: "fmp". model_name : str - Name of the model, for example: "StockHistorical". + Name of the model, for example: "EquityHistorical". params : Dict[str, Any] Query parameters, for example: {"symbol": "AAPL"} credentials : Optional[Dict[str, SecretStr]], optional diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/earnings_calendar.py b/openbb_platform/platform/provider/openbb_provider/standard_models/calendar_earnings.py similarity index 94% rename from openbb_platform/platform/provider/openbb_provider/standard_models/earnings_calendar.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/calendar_earnings.py index b35020dbdbbb..4f543b681603 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/earnings_calendar.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/calendar_earnings.py @@ -11,7 +11,7 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS -class EarningsCalendarQueryParams(QueryParams): +class CalendarEarningsQueryParams(QueryParams): """Earnings calendar rating Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) @@ -20,6 +20,7 @@ class EarningsCalendarQueryParams(QueryParams): ) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -27,7 +28,7 @@ def upper_symbol(cls, v: Union[str, List[str], Set[str]]): return ",".join([symbol.upper() for symbol in list(v)]) -class EarningsCalendarData(Data): +class CalendarEarningsData(Data): """Earnings calendar Data.""" symbol: str = Field(description=DATA_DESCRIPTIONS.get("symbol", "")) @@ -53,6 +54,7 @@ class EarningsCalendarData(Data): ) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_splits.py b/openbb_platform/platform/provider/openbb_provider/standard_models/calendar_splits.py similarity index 81% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_splits.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/calendar_splits.py index 26eaa2500984..acf5ad93b303 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_splits.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/calendar_splits.py @@ -1,4 +1,4 @@ -"""Stock Split Calendar data model.""" +"""Calendar Splits data model.""" from datetime import date as dateType @@ -11,8 +11,8 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS -class StockSplitCalendarQueryParams(QueryParams): - """Stock Split Calendar query model.""" +class CalendarSplitsQueryParams(QueryParams): + """Calendar Splits query model.""" start_date: Optional[dateType] = Field( description=QUERY_DESCRIPTIONS.get("start_date", ""), default=None @@ -22,8 +22,8 @@ class StockSplitCalendarQueryParams(QueryParams): ) -class StockSplitCalendarData(Data): - """Stock Split Calendar data.""" +class CalendarSplitsData(Data): + """Calendar Splits data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) label: str = Field(description="Label of the stock splits.") diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_ftd.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_ftd.py similarity index 91% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_ftd.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_ftd.py index d2846bf65bc1..6953c09e7837 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_ftd.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_ftd.py @@ -13,19 +13,20 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS -class StockFtdQueryParams(QueryParams): - """Stock FTD Query Params.""" +class EquityFtdQueryParams(QueryParams): + """Equity FTD Query Params.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: str): """Convert symbol to uppercase.""" return v.upper() -class StockFtdData(Data): - """Stock FTD Data.""" +class EquityFtdData(Data): + """Equity FTD Data.""" settlement_date: Optional[dateType] = Field( description="The settlement date of the fail.", default=None diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_historical.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_historical.py similarity index 93% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_historical.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_historical.py index 96bccce18062..5c270fa63d42 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_historical.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_historical.py @@ -1,4 +1,4 @@ -"""Stock aggregate end of day price data model.""" +"""Equity Historical Price data model.""" from datetime import ( @@ -15,7 +15,7 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS -class StockHistoricalQueryParams(QueryParams): +class EquityHistoricalQueryParams(QueryParams): """Stock end of day Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) @@ -33,6 +33,7 @@ class StockHistoricalQueryParams(QueryParams): ) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -40,7 +41,7 @@ def upper_symbol(cls, v: Union[str, List[str], Set[str]]): return ",".join([symbol.upper() for symbol in list(v)]) -class StockHistoricalData(Data): +class EquityHistoricalData(Data): """Stock end of day price Data.""" date: datetime = Field(description=DATA_DESCRIPTIONS.get("date", "")) diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_info.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_info.py similarity index 91% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_info.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_info.py index a1e14a9e50ff..7f7485e58ab3 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_info.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_info.py @@ -1,5 +1,4 @@ -"""Stock Info data model.""" - +"""Equity Info data model.""" from typing import List, Optional, Set, Union @@ -10,12 +9,13 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS -class StockInfoQueryParams(QueryParams): - """Stock Info Query Params.""" +class EquityInfoQueryParams(QueryParams): + """Equity Info Query Params.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -23,8 +23,8 @@ def upper_symbol(cls, v: Union[str, List[str], Set[str]]): return ",".join([symbol.upper() for symbol in list(v)]) -class StockInfoData(Data): - """Stock Info Data.""" +class EquityInfoData(Data): + """Equity Info Data.""" symbol: str = Field(description=DATA_DESCRIPTIONS.get("symbol", "")) name: str = Field(description="Name associated with the ticker symbol.") @@ -53,6 +53,7 @@ class StockInfoData(Data): ) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_nbbo.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_nbbo.py similarity index 85% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_nbbo.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_nbbo.py index c007f3c671e9..6b69a559f0c8 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_nbbo.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_nbbo.py @@ -1,4 +1,4 @@ -"""Stock NBBO data model.""" +"""Equity NBBO data model.""" from pydantic import Field, field_validator @@ -7,8 +7,8 @@ from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS -class StockNBBOQueryParams(QueryParams): - """Stock NBBO query model.""" +class EquityNBBOQueryParams(QueryParams): + """Stock National Best Bid and Offer query model.""" symbol: str = Field( description=QUERY_DESCRIPTIONS.get("symbol", ""), @@ -21,8 +21,8 @@ def upper_symbol(cls, v: str): return v.upper() -class StockNBBOData(Data): - """Stock NBBO data.""" +class EquityNBBOData(Data): + """Stock National Best Bid and Offer data.""" ask_exchange: str = Field( description="The exchange ID for the ask.", diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_ownership.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_ownership.py similarity index 95% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_ownership.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_ownership.py index 2cbc68440d96..d410bb5970b6 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_ownership.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_ownership.py @@ -1,4 +1,4 @@ -"""Stock owner data model.""" +"""Equity Ownership data model.""" from datetime import date as dateType @@ -11,8 +11,8 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS -class StockOwnershipQueryParams(QueryParams): - """Stock ownership Query.""" +class EquityOwnershipQueryParams(QueryParams): + """Equity Ownership Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) date: Optional[dateType] = Field( @@ -24,12 +24,13 @@ class StockOwnershipQueryParams(QueryParams): @field_validator("date", mode="before", check_fields=False) @classmethod - def time_validate(cls, v: str): # pylint: disable=E021 + def time_validate(cls, v: str): """Validate the date.""" if v is None: v = dateType.today() @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -37,8 +38,8 @@ def upper_symbol(cls, v: Union[str, List[str], Set[str]]): return ",".join([symbol.upper() for symbol in list(v)]) -class StockOwnershipData(Data): - """Stock Ownership Data.""" +class EquityOwnershipData(Data): + """Equity Ownership Data.""" date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) cik: int = Field(description="Cik of the stock ownership.") diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_peers.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_peers.py similarity index 72% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_peers.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_peers.py index e8d13f12836e..97182f068f25 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_peers.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_peers.py @@ -1,4 +1,4 @@ -"""Stock Peers data model.""" +"""Equity Peers data model.""" from typing import List, Set, Union @@ -9,12 +9,13 @@ from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS -class StockPeersQueryParams(QueryParams): - """Stock Peers query model.""" +class EquityPeersQueryParams(QueryParams): + """Equity Peers query model.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -22,10 +23,10 @@ def upper_symbol(cls, v: Union[str, List[str], Set[str]]): return ",".join([symbol.upper() for symbol in list(v)]) -class StockPeersData(Data): - """Stock Peers data.""" +class EquityPeersData(Data): + """Equity Peers data.""" peers_list: List[str] = Field( default_factory=list, - description="A list of stock peers based on sector, exchange and market cap.", + description="A list of equity peers based on sector, exchange and market cap.", ) diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_quote.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_quote.py similarity index 86% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_quote.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_quote.py index a5c7428800dd..e13276199ad7 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_quote.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_quote.py @@ -1,4 +1,4 @@ -"""Stock Quote data model.""" +"""Equity Quote data model.""" from datetime import datetime from typing import List, Optional, Set, Union @@ -10,8 +10,8 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS -class StockQuoteQueryParams(QueryParams): - """Stock Quote query model.""" +class EquityQuoteQueryParams(QueryParams): + """Equity Quote query model.""" symbol: str = Field( description=QUERY_DESCRIPTIONS.get("symbol", "") @@ -19,6 +19,7 @@ class StockQuoteQueryParams(QueryParams): ) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -26,8 +27,8 @@ def upper_symbol(cls, v: Union[str, List[str], Set[str]]): return ",".join([symbol.upper() for symbol in list(v)]) -class StockQuoteData(Data): - """Stock Quote data.""" +class EquityQuoteData(Data): + """Equity Quote data.""" day_low: Optional[float] = Field( default=None, diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_search.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_search.py similarity index 88% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_search.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_search.py index 1f21cbafc588..a077ca7fe284 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_search.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_search.py @@ -1,4 +1,4 @@ -"""Stock Search data model.""" +"""Equity Search data model.""" from typing import List, Set, Union @@ -9,7 +9,7 @@ from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS -class StockSearchQueryParams(QueryParams): +class EquitySearchQueryParams(QueryParams): """Company Search Query Params.""" query: str = Field(description="Search query.", default="") @@ -18,13 +18,14 @@ class StockSearchQueryParams(QueryParams): ) -class StockSearchData(Data): +class EquitySearchData(Data): """Company Search Data.""" symbol: str = Field(description=DATA_DESCRIPTIONS.get("symbol", "")) name: str = Field(description="Name of the company.") @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_multiples.py b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_valuation_multiples.py similarity index 97% rename from openbb_platform/platform/provider/openbb_provider/standard_models/stock_multiples.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/equity_valuation_multiples.py index 95d9ebff37c7..2101ca4f4691 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/stock_multiples.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/equity_valuation_multiples.py @@ -1,4 +1,4 @@ -"""Stock Multiples Data Model.""" +"""Equity Valuation Multiples Data Model.""" from typing import List, Optional, Set, Union @@ -9,8 +9,8 @@ from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS -class StockMultiplesQueryParams(QueryParams): - """Stock Multiples Query.""" +class EquityValuationMultiplesQueryParams(QueryParams): + """Equity Valuation Multiples Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) limit: Optional[int] = Field( @@ -18,6 +18,7 @@ class StockMultiplesQueryParams(QueryParams): ) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -25,8 +26,8 @@ def upper_symbol(cls, v: Union[str, List[str], Set[str]]): return ",".join([symbol.upper() for symbol in list(v)]) -class StockMultiplesData(Data): - """Stock Multiples Data.""" +class EquityValuationMultiplesData(Data): + """Equity Valuation Multiples Data.""" revenue_per_share_ttm: Optional[float] = Field( default=None, diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/historical_stock_splits.py b/openbb_platform/platform/provider/openbb_provider/standard_models/historical_splits.py similarity index 98% rename from openbb_platform/platform/provider/openbb_provider/standard_models/historical_stock_splits.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/historical_splits.py index 81511d3f5c7f..10a8a35b966f 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/historical_stock_splits.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/historical_splits.py @@ -17,6 +17,7 @@ class HistoricalStockSplitsQueryParams(QueryParams): symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/share_statistics.py b/openbb_platform/platform/provider/openbb_provider/standard_models/share_statistics.py index e159eb72d15d..248b66a182d5 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/share_statistics.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/share_statistics.py @@ -17,6 +17,7 @@ class ShareStatisticsQueryParams(QueryParams): symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): @@ -47,6 +48,7 @@ class ShareStatisticsData(Data): ) @field_validator("symbol", mode="before", check_fields=False) + @classmethod def upper_symbol(cls, v: Union[str, List[str], Set[str]]): """Convert symbol to uppercase.""" if isinstance(v, str): diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/upcoming_release_days.py b/openbb_platform/platform/provider/openbb_provider/standard_models/upcoming_release_days.py index 5959127a4208..769636371442 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/upcoming_release_days.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/upcoming_release_days.py @@ -1,28 +1,17 @@ """Upcoming Release Days standard model.""" from datetime import date as dateType -from typing import Optional from pydantic import Field from openbb_provider.abstract.data import Data from openbb_provider.abstract.query_params import QueryParams -from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS +from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS class UpcomingReleaseDaysQueryParams(QueryParams): """Upcoming Release Days Search Query Params.""" - limit: int = Field( - description=QUERY_DESCRIPTIONS.get("limit", "") - + "In this case, the number of lookahead days.", - default=5, - ) - start_date: Optional[dateType] = Field( - default=None, - description=QUERY_DESCRIPTIONS.get("start_date", ""), - ) - class UpcomingReleaseDaysData(Data): """Upcoming Release Days Search Data.""" diff --git a/openbb_platform/platform/provider/tests/test_registry_map.py b/openbb_platform/platform/provider/tests/test_registry_map.py index 3782e84f3c70..e5c3d75124a2 100644 --- a/openbb_platform/platform/provider/tests/test_registry_map.py +++ b/openbb_platform/platform/provider/tests/test_registry_map.py @@ -32,6 +32,6 @@ def test_map_and_models(load_registry_map): map_, return_map = load_registry_map.map, load_registry_map.return_map models = load_registry_map.models - assert "StockHistorical" in map_ - assert "StockHistorical" in return_map - assert "StockHistorical" in models + assert "EquityHistorical" in map_ + assert "EquityHistorical" in return_map + assert "EquityHistorical" in models diff --git a/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py b/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py index 424c567cd2be..fe871ac96aaf 100644 --- a/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py +++ b/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/__init__.py @@ -1,5 +1,5 @@ """Alpha Vantage Provider module.""" -from openbb_alpha_vantage.models.stock_historical import AVStockHistoricalFetcher +from openbb_alpha_vantage.models.equity_historical import AVEquityHistoricalFetcher from openbb_provider.abstract.provider import Provider alpha_vantage_provider = Provider( @@ -14,6 +14,6 @@ cloud-based APIs, Excel, and Google Sheets. """, required_credentials=["api_key"], fetcher_dict={ - "StockHistorical": AVStockHistoricalFetcher, + "EquityHistorical": AVEquityHistoricalFetcher, }, ) diff --git a/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/models/stock_historical.py b/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/models/equity_historical.py similarity index 84% rename from openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/models/stock_historical.py rename to openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/models/equity_historical.py index b558c2f4a1d3..0c1d8e376cef 100644 --- a/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/models/stock_historical.py +++ b/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/models/equity_historical.py @@ -7,9 +7,9 @@ from dateutil.relativedelta import relativedelta from openbb_alpha_vantage.utils.helpers import extract_key_name, get_data, get_interval from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_historical import ( - StockHistoricalData, - StockHistoricalQueryParams, +from openbb_provider.standard_models.equity_historical import ( + EquityHistoricalData, + EquityHistoricalQueryParams, ) from openbb_provider.utils.descriptions import DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS from openbb_provider.utils.helpers import get_querystring @@ -23,7 +23,7 @@ ) -class AVStockHistoricalQueryParams(StockHistoricalQueryParams): +class AVEquityHistoricalQueryParams(EquityHistoricalQueryParams): """Alpha Vantage Stock End of Day Query. Source: https://www.alphavantage.co/documentation/#time-series-data @@ -70,7 +70,8 @@ class AVStockHistoricalQueryParams(StockHistoricalQueryParams): _datatype: Literal["json", "csv"] = PrivateAttr(default="json") @field_validator("month", mode="before") - def month_validate(cls, v): # pylint: disable=E0213 + @classmethod + def month_validate(cls, v): """Validate month, check if the month is in YYYY-MM format.""" if v is not None: try: @@ -79,11 +80,11 @@ def month_validate(cls, v): # pylint: disable=E0213 raise e return v + # pylint: disable=protected-access @model_validator(mode="after") @classmethod - def get_function_value(cls, values: "AVStockHistoricalQueryParams"): + def get_function_value(cls, values: "AVEquityHistoricalQueryParams"): """Get the function from the provided interval for the Alpha Vantage API.""" - functions = { "m": "TIME_SERIES_INTRADAY", "d": "TIME_SERIES_DAILY", @@ -106,7 +107,7 @@ def get_function_value(cls, values: "AVStockHistoricalQueryParams"): return values -class AVStockHistoricalData(StockHistoricalData): +class AVEquityHistoricalData(EquityHistoricalData): """Alpha Vantage Stock End of Day Data.""" __alias_dict__ = {"date": "timestamp", "adj_close": "adjusted_close"} @@ -124,16 +125,16 @@ class AVStockHistoricalData(StockHistoricalData): ) -class AVStockHistoricalFetcher( +class AVEquityHistoricalFetcher( Fetcher[ - AVStockHistoricalQueryParams, - List[AVStockHistoricalData], + AVEquityHistoricalQueryParams, + List[AVEquityHistoricalData], ] ): """Transform the query, extract and transform the data from the Alpha Vantage endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> AVStockHistoricalQueryParams: + def transform_query(params: Dict[str, Any]) -> AVEquityHistoricalQueryParams: """Transform the query.""" transformed_params = params @@ -144,11 +145,11 @@ def transform_query(params: Dict[str, Any]) -> AVStockHistoricalQueryParams: if params.get("end_date") is None: transformed_params["end_date"] = now - return AVStockHistoricalQueryParams(**transformed_params) + return AVEquityHistoricalQueryParams(**transformed_params) @staticmethod def extract_data( - query: AVStockHistoricalQueryParams, + query: AVEquityHistoricalQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> Dict: @@ -159,7 +160,7 @@ def extract_data( query_str = get_querystring( query.model_dump(by_alias=True), ["start_date", "end_date", "interval"] ) - query_str += f"&function={query._function}&interval={interval}" + query_str += f"&function={query._function}&interval={interval}" # pylint: disable=protected-access url = f"https://www.alphavantage.co/query?{query_str}&apikey={api_key}" data = get_data(url, **kwargs) @@ -169,12 +170,12 @@ def extract_data( @staticmethod def transform_data( - query: AVStockHistoricalQueryParams, data: Dict, **kwargs: Any - ) -> List[AVStockHistoricalData]: + query: AVEquityHistoricalQueryParams, data: Dict, **kwargs: Any + ) -> List[AVEquityHistoricalData]: """Transform the data to the standard format.""" data = [ {"date": date, **{extract_key_name(k): v for k, v in values.items()}} for date, values in data.items() ] - return [AVStockHistoricalData.model_validate(d) for d in data] + return [AVEquityHistoricalData.model_validate(d) for d in data] diff --git a/openbb_platform/extensions/stocks/openbb_stocks/__init__.py b/openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/__init__.py rename to openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/py.typed diff --git a/openbb_platform/providers/alpha_vantage/tests/record/http/test_alpha_vantage_fetchers/test_av_stock_historical_fetcher.yaml b/openbb_platform/providers/alpha_vantage/tests/record/http/test_alpha_vantage_fetchers/test_av_equity_historical_fetcher.yaml similarity index 100% rename from openbb_platform/providers/alpha_vantage/tests/record/http/test_alpha_vantage_fetchers/test_av_stock_historical_fetcher.yaml rename to openbb_platform/providers/alpha_vantage/tests/record/http/test_alpha_vantage_fetchers/test_av_equity_historical_fetcher.yaml diff --git a/openbb_platform/providers/alpha_vantage/tests/test_alpha_vantage_fetchers.py b/openbb_platform/providers/alpha_vantage/tests/test_alpha_vantage_fetchers.py index 261b8b2d9b3b..629789c2a7db 100644 --- a/openbb_platform/providers/alpha_vantage/tests/test_alpha_vantage_fetchers.py +++ b/openbb_platform/providers/alpha_vantage/tests/test_alpha_vantage_fetchers.py @@ -1,7 +1,7 @@ from datetime import date import pytest -from openbb_alpha_vantage.models.stock_historical import AVStockHistoricalFetcher +from openbb_alpha_vantage.models.equity_historical import AVEquityHistoricalFetcher from openbb_core.app.service.user_service import UserService test_credentials = UserService().default_user_settings.credentials.model_dump( @@ -21,7 +21,7 @@ def vcr_config(): @pytest.mark.record_http @pytest.mark.skip(reason="This is a premium endpoint.") -def test_av_stock_historical_fetcher(credentials=test_credentials): +def test_av_equity_historical_fetcher(credentials=test_credentials): params = params = { "symbol": "AAPL", "start_date": date(2023, 1, 1), @@ -29,6 +29,6 @@ def test_av_stock_historical_fetcher(credentials=test_credentials): "interval": "1d", } - fetcher = AVStockHistoricalFetcher() + fetcher = AVEquityHistoricalFetcher() result = fetcher.test(params, credentials) assert result is None diff --git a/openbb_platform/providers/cboe/openbb_cboe/__init__.py b/openbb_platform/providers/cboe/openbb_cboe/__init__.py index 0d66caaedb47..31a9379acf66 100644 --- a/openbb_platform/providers/cboe/openbb_cboe/__init__.py +++ b/openbb_platform/providers/cboe/openbb_cboe/__init__.py @@ -2,6 +2,9 @@ from openbb_cboe.models.available_indices import CboeAvailableIndicesFetcher +from openbb_cboe.models.equity_historical import CboeEquityHistoricalFetcher +from openbb_cboe.models.equity_info import CboeEquityInfoFetcher +from openbb_cboe.models.equity_search import CboeEquitySearchFetcher from openbb_cboe.models.european_index_constituents import ( CboeEuropeanIndexConstituentsFetcher, ) @@ -15,9 +18,6 @@ CboeMajorIndicesHistoricalFetcher, ) from openbb_cboe.models.options_chains import CboeOptionsChainsFetcher -from openbb_cboe.models.stock_historical import CboeStockHistoricalFetcher -from openbb_cboe.models.stock_info import CboeStockInfoFetcher -from openbb_cboe.models.stock_search import CboeStockSearchFetcher from openbb_provider.abstract.provider import Provider cboe_provider = Provider( @@ -28,10 +28,10 @@ around the world.""", required_credentials=None, fetcher_dict={ - "StockSearch": CboeStockSearchFetcher, + "EquitySearch": CboeEquitySearchFetcher, "OptionsChains": CboeOptionsChainsFetcher, - "StockHistorical": CboeStockHistoricalFetcher, - "StockInfo": CboeStockInfoFetcher, + "EquityHistorical": CboeEquityHistoricalFetcher, + "EquityInfo": CboeEquityInfoFetcher, "FuturesCurve": CboeFuturesCurveFetcher, "AvailableIndices": CboeAvailableIndicesFetcher, "EuropeanIndexConstituents": CboeEuropeanIndexConstituentsFetcher, diff --git a/openbb_platform/providers/cboe/openbb_cboe/models/stock_historical.py b/openbb_platform/providers/cboe/openbb_cboe/models/equity_historical.py similarity index 82% rename from openbb_platform/providers/cboe/openbb_cboe/models/stock_historical.py rename to openbb_platform/providers/cboe/openbb_cboe/models/equity_historical.py index 46f4f2d20524..fc09991a841e 100644 --- a/openbb_platform/providers/cboe/openbb_cboe/models/stock_historical.py +++ b/openbb_platform/providers/cboe/openbb_cboe/models/equity_historical.py @@ -1,4 +1,4 @@ -"""CBOE Stock Historical fetcher.""" +"""CBOE Equity Historical fetcher.""" from datetime import datetime, timedelta @@ -12,16 +12,16 @@ get_ticker_info, ) from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_historical import ( - StockHistoricalData, - StockHistoricalQueryParams, +from openbb_provider.standard_models.equity_historical import ( + EquityHistoricalData, + EquityHistoricalQueryParams, ) from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS from openbb_provider.utils.helpers import make_request from pydantic import Field -class CboeStockHistoricalQueryParams(StockHistoricalQueryParams): +class CboeEquityHistoricalQueryParams(EquityHistoricalQueryParams): """CBOE Stock end of day query. Source: https://www.cboe.com/ @@ -33,7 +33,7 @@ class CboeStockHistoricalQueryParams(StockHistoricalQueryParams): ) -class CboeStockHistoricalData(StockHistoricalData): +class CboeEquityHistoricalData(EquityHistoricalData): """CBOE Stocks End of Day Data.""" calls_volume: Optional[float] = Field( @@ -50,28 +50,27 @@ class CboeStockHistoricalData(StockHistoricalData): ) -class CboeStockHistoricalFetcher( +class CboeEquityHistoricalFetcher( Fetcher[ - CboeStockHistoricalQueryParams, - List[CboeStockHistoricalData], + CboeEquityHistoricalQueryParams, + List[CboeEquityHistoricalData], ] ): """Transform the query, extract and transform the data from the CBOE endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> CboeStockHistoricalQueryParams: + def transform_query(params: Dict[str, Any]) -> CboeEquityHistoricalQueryParams: """Transform the query. Setting the start and end dates for a 1 year period.""" - return CboeStockHistoricalQueryParams(**params) + return CboeEquityHistoricalQueryParams(**params) @staticmethod def extract_data( - query: CboeStockHistoricalQueryParams, + query: CboeEquityHistoricalQueryParams, # pylint: disable=unused-argument credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: - """Return the raw data from the CBOE endpoint""" - - # Synbol directories are cached for seven days and are used for error handling and URL generation. + """Return the raw data from the CBOE endpoint.""" + # Symbol directories are cached for seven days and are used for error handling and URL generation. SYMBOLS = get_cboe_directory() INDEXES = get_cboe_index_directory().index.to_list() multi = pd.DataFrame() @@ -175,7 +174,7 @@ def __generate_historical_prices_url( if query.interval == "1m": data_list = r.json()["data"] date: list[datetime] = [] - open: list[float] = [] + open_: list[float] = [] high: list[float] = [] low: list[float] = [] close: list[float] = [] @@ -184,23 +183,22 @@ def __generate_historical_prices_url( puts_volume: list[float] = [] total_options_volume: list[float] = [] - for i in range(0, len(data_list)): - date.append(data_list[i]["datetime"]) - open.append(data_list[i]["price"]["open"]) - high.append(data_list[i]["price"]["high"]) - low.append(data_list[i]["price"]["low"]) - close.append(data_list[i]["price"]["close"]) - volume.append(data_list[i]["volume"]["stock_volume"]) - calls_volume.append(data_list[i]["volume"]["calls_volume"]) - puts_volume.append(data_list[i]["volume"]["puts_volume"]) - total_options_volume.append( - data_list[i]["volume"]["total_options_volume"] - ) + for data in data_list: + date.append(data["datetime"]) + open_.append(data["price"]["open"]) + high.append(data["price"]["high"]) + low.append(data["price"]["low"]) + close.append(data["price"]["close"]) + volume.append(data["volume"]["stock_volume"]) + calls_volume.append(data["volume"]["calls_volume"]) + puts_volume.append(data["volume"]["puts_volume"]) + total_options_volume.append(data["volume"]["total_options_volume"]) + data = pd.DataFrame() date = [d.replace("T", " ") for d in date] date = [datetime.strptime(d, "%Y-%m-%d %H:%M:%S") for d in date] data["date"] = date - data["open"] = open + data["open"] = open_ data["high"] = high data["low"] = low data["close"] = close @@ -234,7 +232,7 @@ def __generate_historical_prices_url( @staticmethod def transform_data( - query: CboeStockHistoricalQueryParams, data: List[Dict], **kwargs: Any - ) -> List[CboeStockHistoricalData]: + query: CboeEquityHistoricalQueryParams, data: List[Dict], **kwargs: Any + ) -> List[CboeEquityHistoricalData]: """Transform the data to the standard format.""" - return [CboeStockHistoricalData.model_validate(d) for d in data] + return [CboeEquityHistoricalData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/cboe/openbb_cboe/models/stock_info.py b/openbb_platform/providers/cboe/openbb_cboe/models/equity_info.py similarity index 84% rename from openbb_platform/providers/cboe/openbb_cboe/models/stock_info.py rename to openbb_platform/providers/cboe/openbb_cboe/models/equity_info.py index 9520cfc0613c..00f73e62905a 100644 --- a/openbb_platform/providers/cboe/openbb_cboe/models/stock_info.py +++ b/openbb_platform/providers/cboe/openbb_cboe/models/equity_info.py @@ -1,4 +1,4 @@ -"""CBOE Stock Info fetcher.""" +"""CBOE Equity Info fetcher.""" import concurrent.futures from datetime import datetime @@ -12,21 +12,21 @@ get_ticker_iv, ) from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_info import ( - StockInfoData, - StockInfoQueryParams, +from openbb_provider.standard_models.equity_info import ( + EquityInfoData, + EquityInfoQueryParams, ) from pydantic import Field -class CboeStockInfoQueryParams(StockInfoQueryParams): +class CboeEquityInfoQueryParams(EquityInfoQueryParams): """CBOE Company Search query. Source: https://www.cboe.com/ """ -class CboeStockInfoData(StockInfoData): +class CboeEquityInfoData(EquityInfoData): """CBOE Company Search Data.""" type: Optional[str] = Field(default=None, description="Type of asset.") @@ -84,22 +84,22 @@ class CboeStockInfoData(StockInfoData): ) -class CboeStockInfoFetcher( +class CboeEquityInfoFetcher( Fetcher[ - CboeStockInfoQueryParams, - List[CboeStockInfoData], + CboeEquityInfoQueryParams, + List[CboeEquityInfoData], ] ): """Transform the query, extract and transform the data from the CBOE endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> CboeStockInfoQueryParams: + def transform_query(params: Dict[str, Any]) -> CboeEquityInfoQueryParams: """Transform the query.""" - return CboeStockInfoQueryParams(**params) + return CboeEquityInfoQueryParams(**params) @staticmethod def extract_data( - query: CboeStockInfoQueryParams, + query: CboeEquityInfoQueryParams, # pylint: disable=unused-argument credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -134,8 +134,7 @@ def get_one(symbol): @staticmethod def transform_data( - query: CboeStockInfoQueryParams, data: List[Dict], **kwargs: Any - ) -> List[CboeStockInfoData]: - """Transform the data to the standard format""" - - return [CboeStockInfoData.model_validate(d) for d in data] + query: CboeEquityInfoQueryParams, data: List[Dict], **kwargs: Any + ) -> List[CboeEquityInfoData]: + """Transform the data to the standard format.""" + return [CboeEquityInfoData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/cboe/openbb_cboe/models/stock_search.py b/openbb_platform/providers/cboe/openbb_cboe/models/equity_search.py similarity index 64% rename from openbb_platform/providers/cboe/openbb_cboe/models/stock_search.py rename to openbb_platform/providers/cboe/openbb_cboe/models/equity_search.py index 6a5969f43361..14ea2013d501 100644 --- a/openbb_platform/providers/cboe/openbb_cboe/models/stock_search.py +++ b/openbb_platform/providers/cboe/openbb_cboe/models/equity_search.py @@ -1,25 +1,24 @@ """CBOE Company Search fetcher.""" - from typing import Any, Dict, List, Optional from openbb_cboe.utils.helpers import get_cboe_directory from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_search import ( - StockSearchData, - StockSearchQueryParams, +from openbb_provider.standard_models.equity_search import ( + EquitySearchData, + EquitySearchQueryParams, ) from pydantic import Field -class CboeStockSearchQueryParams(StockSearchQueryParams): +class CboeEquitySearchQueryParams(EquitySearchQueryParams): """CBOE Company Search query. Source: https://www.cboe.com/ """ -class CboeStockSearchData(StockSearchData): +class CboeEquitySearchData(EquitySearchData): """CBOE Company Search Data.""" __alias_dict__ = {"name": "Company Name"} @@ -34,27 +33,26 @@ class CboeStockSearchData(StockSearchData): ) -class CboeStockSearchFetcher( +class CboeEquitySearchFetcher( Fetcher[ - CboeStockSearchQueryParams, - List[CboeStockSearchData], + CboeEquitySearchQueryParams, + List[CboeEquitySearchData], ] ): """Transform the query, extract and transform the data from the CBOE endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> CboeStockSearchQueryParams: + def transform_query(params: Dict[str, Any]) -> CboeEquitySearchQueryParams: """Transform the query.""" - return CboeStockSearchQueryParams(**params) + return CboeEquitySearchQueryParams(**params) @staticmethod - def extract_data( - query: CboeStockSearchQueryParams, + def extract_data( # pylint: disable=unused-argument + query: CboeEquitySearchQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> Dict: """Return the raw data from the CBOE endpoint.""" - data = {} symbols = get_cboe_directory().reset_index().replace("nan", None) target = "name" if query.is_symbol is False else "symbol" @@ -65,6 +63,8 @@ def extract_data( return data @staticmethod - def transform_data(data: Dict, **kwargs: Any) -> List[CboeStockSearchData]: + def transform_data( + query: CboeEquitySearchQueryParams, data: Dict, **kwargs: Any + ) -> List[CboeEquitySearchData]: """Transform the data to the standard format.""" - return [CboeStockSearchData.model_validate(d) for d in data["results"]] + return [CboeEquitySearchData.model_validate(d) for d in data["results"]] diff --git a/openbb_platform/extensions/stocks/openbb_stocks/ca/__init__.py b/openbb_platform/providers/cboe/openbb_cboe/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/ca/__init__.py rename to openbb_platform/providers/cboe/openbb_cboe/py.typed diff --git a/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_available_indices_fetcher.yaml b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_available_indices_fetcher.yaml new file mode 100644 index 000000000000..b5801faf2acf --- /dev/null +++ b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_available_indices_fetcher.yaml @@ -0,0 +1,627 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br + Connection: + - keep-alive + method: GET + uri: https://cdn.cboe.com/api/global/us_indices/definitions/all_indices.json + response: + body: + string: !!binary | + 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 + 8AEE8OX3fwAAAP//AwAztUD2gHELAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8239d67a6aae2d9f-YVR + Cache-Control: + - max-age=5, s-maxage=60, stale-while-revalidate=60 + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Nov 2023 23:29:26 GMT + ETag: + - W/"fa453ebe3056864a0f53f381bacee52d" + Last-Modified: + - Thu, 09 Nov 2023 23:00:05 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + Via: + - 1.1 a757dd17f5ecae04edf16d18f7b8dd3a.cloudfront.net (CloudFront) + X-Amz-Cf-Id: + - BofZZv75IzkYepVrwXFJyBbCLmt2A2ZVDTMgOK9uRSX22oI98W1S3g== + X-Amz-Cf-Pop: + - SEA900-P3 + X-Cache: + - RefreshHit from cloudfront + x-amz-server-side-encryption: + - AES256 + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_stock_historical_fetcher.yaml b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_equity_historical_fetcher.yaml similarity index 100% rename from openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_stock_historical_fetcher.yaml rename to openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_equity_historical_fetcher.yaml diff --git a/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_stock_info_fetcher.yaml b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_equity_info_fetcher.yaml similarity index 100% rename from openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_stock_info_fetcher.yaml rename to openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_equity_info_fetcher.yaml diff --git a/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_stock_search_fetcher.yaml b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_equity_search_fetcher.yaml similarity index 100% rename from openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_stock_search_fetcher.yaml rename to openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_equity_search_fetcher.yaml diff --git a/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_index_search_fetcher.yaml b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_index_search_fetcher.yaml new file mode 100644 index 000000000000..f61ad5f46999 --- /dev/null +++ b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_index_search_fetcher.yaml @@ -0,0 +1,625 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br + Connection: + - keep-alive + method: GET + uri: https://cdn.cboe.com/api/global/us_indices/definitions/all_indices.json + response: + body: + string: !!binary | + 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 + AwAztUD2gHELAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8239d54368197106-YVR + Cache-Control: + - max-age=5, s-maxage=60, stale-while-revalidate=60 + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Nov 2023 23:28:36 GMT + ETag: + - W/"fa453ebe3056864a0f53f381bacee52d" + Last-Modified: + - Thu, 09 Nov 2023 23:00:05 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + Via: + - 1.1 cd874fd0ce2f81ddd14f2d3033364a5a.cloudfront.net (CloudFront) + X-Amz-Cf-Id: + - mA80AYvOeIE2lASamy78e51-y4Y4O0ip3aCfKotwwSL36a--HRCqwQ== + X-Amz-Cf-Pop: + - SEA900-P3 + X-Cache: + - RefreshHit from cloudfront + x-amz-server-side-encryption: + - AES256 + status: + code: 200 + message: OK +version: 1 diff --git a/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_options_chains_fetcher.yaml b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_options_chains_fetcher.yaml index cbe23cb4738f..80b9754378c6 100644 --- a/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_options_chains_fetcher.yaml +++ b/openbb_platform/providers/cboe/tests/record/http/test_cboe_fetchers/test_cboe_options_chains_fetcher.yaml @@ -1,4 +1,2185 @@ interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br + Connection: + - keep-alive + method: GET + uri: https://cdn.cboe.com/api/global/us_indices/definitions/all_indices.json + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 8239d1b8aff56064-YVR + Cache-Control: + - max-age=5, s-maxage=60, stale-while-revalidate=60 + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json + Date: + - Thu, 09 Nov 2023 23:26:11 GMT + ETag: + - W/"fa453ebe3056864a0f53f381bacee52d" + Last-Modified: + - Thu, 09 Nov 2023 23:00:05 GMT + Server: + - cloudflare + Transfer-Encoding: + - chunked + Via: + - 1.1 821c432df4ed6570377b35b5a3b04598.cloudfront.net (CloudFront) + X-Amz-Cf-Id: + - F003FfjIiDemi4S2pjG4zPHf6SXkZajbcf-RlPoh9Xv6_zmDaoZRJQ== + X-Amz-Cf-Pop: + - SEA900-P3 + X-Cache: + - Miss from cloudfront + x-amz-server-side-encryption: + - AES256 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br + Connection: + - keep-alive + method: GET + uri: https://www.cboe.com/us/options/symboldir/equity_index_options/?download=csv + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - EXPIRED + CF-RAY: + - 8239d1be8add61f5-YVR + Cache-Control: + - public, max-age=1, s-maxage=15, stale-while-revalidate=15 + Connection: + - keep-alive + Content-Disposition: + - attachment; filename=cboesymboldirequityindex.csv + Content-Encoding: + - gzip + Content-Type: + - application/octet-stream + Date: + - Thu, 09 Nov 2023 23:26:15 GMT + Last-Modified: + - Thu, 09 Nov 2023 17:47:29 GMT + Link: + - ; + rel="canonical" + Server: + - cloudflare + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Transfer-Encoding: + - chunked + Vary: + - Host,Accept-Encoding + X-Frame-Options: + - SAMEORIGIN + status: + code: 200 + message: OK - request: body: null headers: @@ -13,2168 +2194,2175 @@ interactions: response: body: string: !!binary | - H4sIAAAAAAAAA9ybTXPjuBGG/4pK5zGqP9BAg7etXHPYw9xycCm2aqxa23LZmtlKtvLfUyApGaBA - UBpRsTNzcpuEDPKdB2+jG/pruds8rd92q6eXZbNYEhDfQLjBsEBoWBpLyy+L5f1qt1o2i7+W25fd - Zvv8tmwW/9gHcdhvv/3+d2IIRH8DAAEAiMP+ublfNgskb0i68PZt8+/1slmIgS+L5ertj/a6Gumi - /WVqL29+LJsFtD9uX9bPt5vn3fp1/baLN2D76x/bx+9PcQC6Nr5fP7YT7a5+Wz09rQ4fsXtY796j - 14dt9zMCxg9af8vu3PbzAvH2y2J597B6/hb/DndPEqfTP5mP8cPm20MbBwMxftz+2YbOaPy8zV18 - zuX99s/n+FoeV2+7293r6n59+/K6uVv3fwvzS1GXTBL9itKIbaR9ty/r17v18+72MDUyDhg5Xnpd - /7i9X/3r9u5x+3b49KgKCon68J8vi7J6vx+r172SRDpIpIvvL1fOArxrx8Zj0IJ8nKtHmXhQEe8G - DABQKuCIeocbDy8o/iYRr597L10fdcL1wV635+3+LZfF24+ta8cNuYa0qB32b+1IuThnG9p/qkoW - aVy8iJ4boIfe8BC9VEBE7f4HJxIKTNGHA/rCz8Pnx+BDNaDsc/hS9uINCXoxTNBDb5wkGn5/GSPv - MHASPWmgjB4bELFl9FANRgW9R0SlKnpuTvSoIBzkusGZ3PGp3PGAu4y6DLqUufOQK0r2/P3xsaTQ - XHjJAC+awotnwMv+NF446m3IBtSFHC+bmRv2ZncgrI/3hPXhKe52GDrJGI/ZGxtEdWXE+AzEZDbE - yARPV6DMnkqZ/UUp8wMTAx2qhClj0KVOiUw4RVhVobMAkzHA4qRD+//n/0EiBG+CtyGo9RYJqwx5 - mJEh71A+kCH5VRkaOBVwnSE2duBTmiYTzjk3ncfjz3OkoxyxgcCDpc6nPgVgUpvqw96l+mg6DdwP - qzoUhIahsbgsK+cFVct48ekbMD+nRYkTey5eHUI4gZicipj7RRHTfBkM3milyhG0SxUTqVwqFFtX - 2inTXKlgm6m8a9Tp28sUolc5lyeDmkIWNMsFQ0jE2l87IREMaux0GmgbwIbKaaA1EEK7VB3pF9Rg - tLBA7MGBq0Kmc3oYK4aCdpbc5Zi5UcwyCdvY/w9Iq1Y69Ab8V8SGQ2Pd8prs5WtkoLbQlujnUvTY - 8JkJIs6VIJKrYBetra2PXSRahTcNpp1ADThu911hbN81IlhggyR1xOb0MYJQShMdzOBk/gzELlZr - NAMB05YrK2zFtREakMbyNdkK+dKovsaW6tls8VyWxuNaqRoExtzRfFreUN9OvNdL+zJop1h/bVKy - w6gpP5PYSxnxM1aEYl0jvtooBYOgF69V2MKcfgblXITngC2cDht+vJ2hizm/DQ3jVZHLl0olE8Y3 - a9oX085hLszGXA06Nggu21GTcWkaqdTlyHvq+rCnjjLqarbW3TmBHTTEjYSRaiJLKGaR8e1GlsA7 - Chxsnbr5LA6NBirtsUlpmjqqU4dnQEcfTx216oltrFyROoR8zfS+Rp1XI+dX8mWuPJL9uGw+mt1V - 80jvTVuhqRFHUTMLYz2yEc28no7bULAzcQuAIeXNW4fF7osNlwPHZxBnPwdx0lgdr23NQ1y+Xno6 - PhiSaui5a+J+EHMWB8JRwlzsRzFdkzmq10r0hijutVHGaiVjyMVa78nIyZzIuS49ONrFSZBp5HgC - OakgRwPkPrxSEm6g3RkwNnjNSglivma6/rTDiMu5eFBoNLfE2K0plZN1NuTsuHBxbuj8FZFzYnSq - XGKjalG4s/bgTg3Re3ut2l8bSnYhc9YzFjdz/nLk9HTk6MN3c+EGJeYozA2GqyKXr5mO68jxUWNA - Uv0C29JmHKHWewMTZ5urd0g8yuTpQD9OyIvFvvxQT98v7BV03CXHvYb7sFNxH02WUw7DJntw2iAV - FRTjLZRPYsWHaBNIVrQu+DqCF9keks8kZCvFTNOfUE+xNRHbW4gqFPKAQvkEFNqYtpBe2fgoX0Xl - 2PgoEVHq2zs02r3Lo2V02AKHYw79ORzKsE9n3xUUNUh2UNVU+66h9OePexUlO44sasieZoT7WyfP - a1ltuKyiNyCqVFJS+iORwaEKA1dJpIvMkAdmSFQ8seXwhE6dmyax1kmwOYn8GfzQxtVUpGF7VRLz - xVSqR1GEaxnoSEdhkH9KAUI5C8Jh104SCKMZZsUWmx+cFNs9wR7CPuwh7I1z0gwPw6ZOlUNstxbl - U6NBgy0iyAY7/UQkgNYRvGwPSJkXIrAWt4A4TaBOEsi2QqAMCAyfhUCOXb1rEsj5ImqrByqtnk/g - sGTmjgHkoXhUAXDIn3uXLk6P892ENZB2GaxPD4RZbfuXnX7WdR2HSfz2o6YMEKnh8nc6gkFEKqai - 9oyTKkPtLjJAMEGLfXQSmXZArCnY3mFrqajL8bOfAT/5GgUMDfFV8csXUEsmVDaE9icckAY9In/E - nx7tBrnG37DNpwmAbJCHp8Vc6oD7J9gTyKkD7qNpBPkUB4zLp23QjzHouzLuMYNsqDW2U7aDfJED - ugGD6rV0XIzF6jSDtiZje4vUeg+aQ+j4c0AojfixIxIzQWjzdZQL34xLVOTj45pZIRSC+IKGnqaq - Mnrkg/bojITmLA5af5hU1jhupXDwLTnVhEXWrqbZC7kPOyn30SSLh2GTJ11orLiGMffzoSRlzN9b - KU/xQztjdRSM98WvHwQ3KM3YAos0qaSrFEhxUCDVDMWbiW+r/hcAAP//xJ1bUiy5DkVHhMN620zq - zv/vhjOzwJIfmdVA9yfB4QSFYtnS1pZ8esX+bloVmsiGc5HtgygREf0Klf5kpcH54qAcpVI3KW6E - 8/aSjyWN5aENx6oOpYVz4kKEsstuqM2jWbggsb8giVLt3GftS/6GEpPZIygfXZAAn4yfaIvB42Sm - cyjptJ8BMHOuuIfyVy9IVcNpkkOhZ0Eyw7LexrLsuPR5KkDEEv7DIfL8iXml1nzob92UGpmEtXBK - eEwaL+/JPG0YKuznu2q14XS1odogT2Ro10OX67TPwKX+mXkX63ky3TefdCWYLoLX/r6yZ09/ZEID - cujxdNBLMJB3iToOPILbkNXvkH3bRRcxO+CzG/rw37wU8yfyygn6e/SZpy8PY0V9sUhwuERWtWLl - Mm0eEt/xp8MpWoZCw+MXGhfHSMwLP2jjb/R3+JXb4T2+vDLwVpFBcEuf/ZoFNCdFxSl9oTDUMqGP - bwNW6w191dPnu4X/9d0nR3GR/5i+4sKJdecJpbyFb+pOy3JXIerQL6wDebZFry8QcwLxpygm+w5i - u7i+g3h9dQbx+uLR3ffk7JT6CbDKQkHytFFB+TTOVEazKnuzWgjeD1nMMm1U1FAZmsAERr2LIXQz - 6lMY0dtET+e9gxH/w6vwgFHmqumHQWKcL+t4m8fqeSxb6fSVhr1F5H0uqlGzGfpOGu7CIJ9iRyTW - BEJ/eBfaYhza3YXY7sL3mk5Yb+/C+hP+pIIDUIrI1J8dx2qtjgDyTcTO1Tg7/Lw8A4w3+MG/jt/i - NP1N/MIyONyOSGB5+zqkmNkwjvTFUA70GXv6gokUO+vFsQmPw96jPqu58HldiCXZtzJzfe+Bgeb6 - WPdRtM+8UGba6JROWxdY7kAcd/iFCh4yeBYxVoVekMFZwwLQhmwmF55ch0x3MYTOSzrn0ftnTp/U - jkdyPNJf88htQdw/4REuHlXZkG5wbB2rDkdJusFRjkSvx/F2eIKirXTEkWNhCIPsXUN6KiGUXZnR - PoJU8t186JVv1ONjvIA8v7p41CQPRwZf//TWTgPLGgPaPK5MhwbbpzgP1VxRZW/vDkGcwHmZCpdw - qlO9xRin7tIS4USayKXCd/E8h892bIa6scANm+zY5B+wiU/YJFvWjSJJRH6FTS+BI6XhzO3hpI1s - mhOXuU8R812ff5ABYKg8MHQyQiuDOgG8fQrluBlGezzR4UnpaPFdfJ7fu09ZXz91F8icVz0pqInq - 8UlGOOn2uhy6FxhDF1LXsPPAanFECsz83gI1tofJJjrqIL2NIVTcE0m+iYFQI5G0I1L+mkjhlfv7 - QykpKS+IxItIZsCssifS/G2Zh44/uPsyH8nt8r6UbNP57OhchDy63wbbBuompAeVYR6DeypzUvOD - 2tck/QvK7NY1tX/f7UR7quvkJ7oOfCKsOlKgiQinocS2LW0PpckeSgTbQingoOTK0+YwUfAuIimN - UA7+qTGCNSo6uA5h+zg6QMkeSnVQag8lvgclPSwpSd+WV98hMq6nHstJtz23DEsJ/SXJNr0jwyGr - VCOPpUQeKUYTgwsn4ChdytNWPJdQUfaRBPVb4ms/HfX65v2Gwjb88SiMdTWciPCafR03FJaEhyX1 - yUzGuKeabtAMugCiazqyTE9WyMwcrRvhcD0TmttgDhlsQNOTSTwksOrJLI7M0pNJ75HJD2UCWTX9 - IdXMZQEnXXAimJZ9/qq+LAE574wlnHIYpJe3JZW5h8Pi7nga4KTYAJHoccSg+JSQ/lhPZ6vNMLzi - 4LbSgJyJwYtPTd8pLHDiNwIKmh4xCvUzz21yTcLmxTMOko61hRlqNuK6Z3SoMuUmp9UQTjYP6aI3 - mSnmP3XGqN4HdWhPBhXdewN4aE5Wx6jTY8H1JuU9ROUhorzqTUqSs0c3Q1QuRC1DNS17RsNW30u6 - 7KOKtYd0sioqUDp1Pw5uj2D3yKmaxISoxHEAMthRCl2Dq/2iEC9R7JfR+yuUE1u3it5fobtN9JTo - Z8+sECQtNA1m+88PSzkWhYw3d+hQcwYp7yXWfPEZxLwCLhkim46JF+bomSvZBjyR5Taag3dHQjh9 - w1JjvxLE8+myW3DZrT6L5ispfsAmLayszbBdV05WfaW2Vlg2i1IONH25AvnMXddownmwuLFxF1Ca - ZbfAFFQ9KYNGqyEhOnvHfTDFD42H7La3QDaHKHNMb3s9rybB/pmIs0N77QZOT8G8bE5PXmFZFCnc - /uQE8/3bqZyxzKyEe4O5DoVnLFIEHZmhj4lZyAeSp9P/2WIuJNVGNCnWKpNoxsLTluFsn4Y5kIme - THStE3TyrL11dcLDemV1cxqkMo/ocd0fyRAKEVTb0xmeLCjD3inIfUwnwx/oGmJYF0tVJPQzwerg - J6Bw1iJGp9ZpyV5KtMjdWofWlShh6aLbdKqpdrlQTd8n7fWdJxsXn77fUlcnLddEOM9rS+JDRDCg - Um0/iTW8PQE3aS2EtFYK+EBOl8AhDnCC1jKKtRrbJ4hRrLUS8AQM0XStTRA/W/fRugGOT3LVZ48n - 0LNNw6APg7mqOk0SVFpUnaee3pq8FXOlPZi+TJFREOoHQL42D38LuD6aOl20ghY310Id6s5i8aDl - ODgAUOpuNOs8ql97AlKVqNFSLwtxsu6gtfRtGeFnbRNJ9bEgNJ9RbpXJeR2M63KukawqSKC43xBg - sdjEsDL6VUC8qIxSrYUwwtS1XJlCHIkQOEIJiEMkwwl7rTPqoAzvI5yF0ReUWEu8NIuH0nomrYcS - H0JJT5msCya5VSYyZxKv2xKsFLjpZIYHSK4nzJbuERqFIB9NqtP+tL5UwO8yEzLFZNZiMquxMgEr - 3m/AfnuAlO62bJ1GcLclJOvFIOrtP5xq5zbwY1l32Q8lK08jOpdrS0mCZSrXHs9z7JGM9aUGjZbD - Ram8tcMi1fl2YogFickrC+qYvH7cxTFMh0CJllimEEh3Uapf4PEBiXsFCPzrdYl7lZb1rTxWf8xm - 6z1inbOp1NUmYns2Q09z0qp2Pc2xyAxw4nQjJzJGWa/oqAKJRmtsjW0xRPBa7VFNfQfVnN3gUKw9 - na4pBkm6g5Y6dyyks0v+MKb4tFG9jGl7Mg3m88x49zZGDCOcOd0yjYVEQ2s6hzDS9IwtOZhltTVb - Ip1MFmqSM7lzcQxwBpeli2P7PEH/wYSdnoeJO8cBnlrJC876zjF7/el+AqdCe99s3hZLZPuW5vCQ - 0HGs9efs1cN6nbOl7s/Zs408VJYmQ2nJFYwDkUSxuiwx9Tkrni8gs/pAft2v/7t+3fgOA3u1QLU/ - Zfs4yns6+/GHexTH1SPK9boTJmds5fOMxbaBlffSbAhpK6d3RQme6d6qS42n7j3a8zBenATKg/6j - FqXZGvfuYA7JrNfZ1ag/YU38q8ofmIpb3nLqXV8ZEHdHbC2PjCOPXkU5Q7nwG0j74Kjzw/XQAHJm - 00KGezpjYULBlCfiO9WEd3ROC0zSuD+J0SjCCRKTWbGYzHphNrTATvS+2LzMNR2b4G1d6DR21ZWt - a1eV/PCatPZM7kJgpwvKUrLVvBd+QiR5353m4dll0AdQikp8nSjLMF1SxEIzU+N8CaAFx0H1Rcm5 - MfC1USkZ+lP2gxKY0/D68S5N+H8AAAD//9ydSXI0Nw6FT+QMYuJQW19AB3H0ru/vYA76SXBMZaZU - 1rKiJbe66a9AgA/v/XGLWCYfS7ahwtRJNqaxHPFx1QaTowFUn0Tdj4AikTGvk6BIRDXqoeqMgIQM - FyYRRZk0lpWZIOo6aWyuACrHdhmLAEHvdGH7PRpdimI4N1S/SCTahUBas7tdzmXRsevr2NWJOr3t - lQ7UXfkOjfn9Favpl4c7QXLpKcUFQfRhkn683PQeCY6iXrzSS49bDGsaMYsxWpLvVZ8M1CV/iB6d - pZvVFoSXNHa9CBa31aTKBC9shzma4K14uoFcBI3tykWCzfEUVx/heRf0VsKh2EvwRC23BN2PGIL8 - GmvyL1jIna+liKE1HUXXJbnI7GwduOFZZ4IJcFEt8lGeaShfpNOQzML/erwtBOScnquXL5jx0q0O - k7VAj0EJ2kHt8CWTn7DIJr9M+STOxCKSPUgnGWN5VO3oNMNi554w/cs0BAZxC2ubOJYZmtE3+FPO - 5W0X0DDSXBLbrubSeskfvqrGZ0jkg57ncVE+wWqvFyeFHNrmfFJbo/dJfM//rKOGpmm9CF28AwEv - 6MVdk1t+lOd5yCbSA03PE2qTvKEraGB9nQWHJZ/Bj5zs2PBE3Hf8I4307rGACycXoVjdIQlrn3v3 - 2q8OU8fYotIsAev9JcDi17o52uVbqRzt8qEB7i7zQf70RdtXW+k6AVorYqwtqDRaxcXagQly06xC - CJ03mAYHTH7zIl/UQdvmiZqLW3wf5YEC6fDbTPsDorf4BHNhO9bGslpagNpdsheZdAJHjpUyO0FW - OFKWx3l83HGkhXFaVmll0i67YcD0F8b/OqwLK3mheSRlsPtOYvpEHneYA0kx1fdLz16fo0OvmTSF - tST1vChqy3xq853DKU80/g4nivOOhKegVLJn2zWBAfeFUqkvPejdWSRpBklXqZAhPT9wmXc2+GxZ - aNPHjCuk3crsmEd+mcbZQcyOr+NoFx9m8ltWHIvG8pQzqM03a2mT1BTxAxRK3Z0UKIouj1g42OcC - n3KvVpkygX0n096e/u4u096P8kyh0llmr5ehMKJQlpPV71e9K+0fATIUNRIXSre94k9wvksL6S7t - XJzL56+NXNKMaXoVwKo7rQ7uICyWJ5HEazG6IIHzFZJQt2kq4s3ASjHo2SZt2bJ74dbrsMukcoYx - AU8x+bhrIZmmjPI+JvWhYtlP5v4TlX4yW3ZnV/W316vSTzCJZRup7q2I6QR2/7SrtCCPl+h5wsCU - f7a8hJrz11hpG/MAhPkyiQavlElQchDG2uEFGXhPmm1wntFYVEjbhVFZiG63387Y9TtZjFEh1Lrv - HP8PXgdReTRxd+yK/JW5q3rgegTCavOYOaVxbjKxf9wxpMWfOcDj58cBE20HZoiKaqkrsnjZ3pon - Okg0F8M/QzZoZUv1lxBdHrnEEWVsBdtxsleBZxbeh8Vu33gfi8qTqd84ouvXRBeoKs1i3TryI0BW - W0fMndJsCqRLtDvR/2zeKe1q64hL2ApFCaLtKpdX/C51jHH5JLd9CaHuw6z6CzQlfuMIApwPeJE3 - w8+90D6MnxIr918gsfIEOaqE/QDlm8ArWsSHcrKqp/a////zzzmTXkGevHReC5q3wJmmSkiqjh8Q - ZJCRvJvSZKhJP39HoaaiBemNSKMXQesd6jbS1EkSdG3ry94Ph8agvXzPm94rqOz7cPlc6PuTRHOo - /zEJ9tz/o4n6RrtedziJiRlYLdeAuEBW7/oIhgUOrvV6Ie/1qjl0KKZval5LEix8XAk6SYKq0ctF - xT+UJIiHE294Kknwozw/6nd4VHZ4Q9rwYlmboo3vKGs90GR3guhmIsWm3LYSrFupLHxi2gmXujlE - 9nkqRN3MgbXqtJx0wjgvsBsg7xRw+FZFzoQXmoeLnNpLLbu5LJis1JxmfXmwQuPZCjyCXq2VyzLk - KTO9ptT0ev8wA6CdkHxH/uRlGqoKH291vjqgpnEnB5c6ufg9m6FHVZdAYRmWumFmLvJ8cDW+Q6Xj - 1as8vJgerXT5AVLZwGXEdRs4OJxr7u7hpoj7L/VwFL2sZ8sbXovDhXxaYp2pbnkflvQdyIwfxsNj - 7z6phpV6s+nWq8kEYLR2btTazb8JMHV6DP1keNReU3nYn7dVQ9xvaN24pvxMYsaO/2HHVmFmEnZ8 - mlligvGdcq1p3E6n8jFfoq7I5nHzhteukyHnzVHVsAZIcMibHfIGnZGJUpUZCD9f1cz2Xo4tMf1d - 0OVHyLabsMmum9QQGvKHbyhqXFwjb/6a5DC2/VovIuJbEofGkfGxnDRKfI/I0aUSR5TPS1yoXiMJ - hEev44W8ugyCA+ogRwo5ea+3cfMy8GwHp05SoNvBCfY6OIgOmT/VwUmt3iXsCSzJQtn+ad8R3D5M - 4Hf82kStawlwZYl2B9VaJ+NaR5dqHdm81vmtkSw3jnSeX6XW8Ri83t1SvcQBvkEHR1HNYFzLq/8u - 4vIjFKv3GTLgnA7wS08QFnTVnWvsTb7uAq42MkmNSCSbmEjq4S520k9v/6XhF2X8rmzx5l1DNS0n - VNPI5mKSbUZeAFf3uPRD8GgIngknwPsG7gaLREbWxk4evmOqA7T9xs7ipkRsTU6obldhvgE8iwPw - bFbqbFrq7HSps7eUOsK6xVr8p6/2h+SBbXB99C4VPcnfxIOrhg6FAEPysHt423PAJHbG/+gsxcgu - veRnkcsPzm7f+snJpU4/1p1/AzcXZZdTuNXqXJZWYm02Sjk+7sTZfJTSrHWfv3ZhkCILGpK6e+z4 - cUCulThnsquJIcN1A7zLoPWGKEp4Yt7gaSAWOPMy9mS691na1PE56NHmUM9Q8Gll1wxsDu8YoDQZ - 230W++/f8TJiXghnzsqNWze5VMU43bqDxVRTYsRfZ0tOsGXfoGmTY1DiHmVLOSvZnprLDVTLE3D5 - R+Cq6pWTQua2bvPwP/eJqZnblcwT14/jRwcCBYytNjdeuTnKlV21kLm9a3MOADz0B5XW3HZ1hAXI - Y3WJJ/QjgE3x3n2JuvebUT4sWlaH6Df7oNQBIj1Gj5fp4yfo86O2zWNKn6eEPg/T9B0/eo0+aNnv - ejhD37XGzXFW8yCY6rsOW52/dJ4/PsHfG+3PAb8wvIx/mL/8GH23+PnrxQ/DI/xV+7hU4uWz8hfv - UolNmUy2cd5Oeu3GwQm0+DMAps7fZPULf8dKoRyt0FcyJyXztPKFTauMlx+hp2fond726Y8TvUib - vfi3RXu7PPdMci+rkFt1HJ93awD0y6Qv2fGj41VyemF9/IWL37z4S2sA9NG8PYTofA3YXH0MH+UZ - jr5De2bJuCD76txZJ8CWYdvDb9ATPTm809pV3Jlr7ZLf8Q26gqhTtsEPwl/jT8DZr1Hbu8WcwdD3 - MFz/MiGV3pt+j37+8Z9+jz7D8Pg4Ns35/MXhl6m0MKQlmlxI3VcucihRf+K9B9/l0N7HISyBqtGg - /QnLFIbhBIbuP6K+PE2bMqcCrOQlZWUPqFv24oHVvje7MucTwGH7sSD+aWAZH3wuiIltIuM9HtNx - 4Wyc3PrXt23IN7DkRrBcqGacT4A1mIud0DLgL8VKBT3GtB3bpcpsRtyn7pLdnZ0zSGm74gwq4xdw - BHkNC9lV0vj0EfX4eNii+uwZdZiIc/z20ErDvEgaZcyFLSGvEqXrh5C5q+qFFDJrqwv8N0CGJyjj - 34qZql6GFuhjRh05bJQxVPfjutLKM6BRW1K5/u0eoRNVHVN+sxz54/NBGs4nyZu5mBt4IbSe4mgB - sq7uQmxokfUUJ7o2JzfyJlI1Br+BN56XxqL/pbypbKngBpfFEPTKh2Q9NtRevf1NrdmWTNxYGgh+ - gQCatiQWfg/RPnKn9497Lvz+aQK0z1+cGI40ZHm0oHDdGCr4ONSJDFkMFLjLmb/UlVlKMWOublpN - YEYDzNz80gf91rKmsmkC9nOlA/c3Fx1WI2ypvzAQNuuhOdQkdFCjI+Mt+Vc6C20LuZF3yIy8j0/D - Ccjnr3395shx6uerAtgQUzr+VLR+SfN39mlE9osljfus4Txqv5U0lWPhR0N//4U2bbALVwZYdDhz - 3N479X7BLajtGUFQ2FLAenhBrGRoX3BqKyD+4f2WLNzZkmFdmjDBkwx4ovkFYf6tV0Tldu9pRNQu - qzmFlBki5XrKf02VD22zkqgt+Jbt0jsOy9OyemntQ/r+fTBcKlKSQwX81Sm9He5odH1llL2F/NJB - PSiHbLe/9jS5cr4MLcxuFY7deNRRIcueIGuTNafH5ROJXXxR8vbBab1zwycx46K+R86absXdo9nG - C6451geDmbLOSD0sPQTsro7WXS7glGuaV5a8/o0epyE6FT5o4rRRqLStlXljepqOVmXEmYfpkR9Q - CIHPEAihaTbpKN6FnlzBd7hZ7gwAlKgrgFPrNW4NNY1b6CjetdPqNgDlPgDjVlQ1FsvCsNbBmL55 - m1APP60o93+Rif00c8uL9ybqlD+oHdU+G3SXNsROR4FWsIMz2BG17ZStj2OGJwufdSNFVsSOX2Bf - 5lTds37ZMlwHzhcrdnBf12YWX18DJjumDofYscpvLXIh1INacD+7krhNjP1L/KPYqZVE7L9h2z3V - PsWO8sa7enPRKwEler5rzqXRY68OL2kRbBymB3gSvXG856oPiSqsUytuNpos8ix610IgcvKAq8uJ - hsKYvbrN078AAAD//8ydQRaDIAxEryTBSaj3P1iflAWk6hRbqnsX+HyfwZDMNOw9CHvqQsvuYGCI - XEfGOPuLDKDzV8NryGgXQJxpSBYqfCn20KeuQavaOdf12zQSPoDfas/lVyF00YfS/siG8DN937ka - tvTZvJPfqVz5hMKHdAyfuPDOO1jP/Ik9Zz0TCXvv4vcBe4mxZ3Zk/urZy0/XX68qOq8vkMJIKwUY - U75JS6Jcn3sJYkexRfDDQ6fq5gyA+fCjhA34lPr2KpE+aS8NQhtHdnU2YFigSzyVDfgEAAD//9Rd - W25cuQ5ckQXxJUr+nQ1kJ3f/fxfqc9oWqWfHdibzaQQB3E2XSBbJqpeQ6GTXeJMFuYTfuMrZ8p6p - bD0+rKgJFZcJqXlM64co/JMisSyXreA6Ez4cO+ml5p3rRks8zIQUvxWNwxYQmFwNQ9jDkXgbv+y7 - wEUAH2uz8pKVNf74eaO8x/hTVtYXFJ326G64x/Qb7hG47Qclb62tLI19bSu1puQtFilQzPSTWIz7 - svSh2Czwzi8dDdTf/RyMO295S15vFlNikJyH5mTIaXsjx7INYclrOLKDY+qc5fG34Pg15e18x3Fy - YvWmEPiaen0VjE6kje6BXxvPG0q3wH2+yPipaW4a7kWQ19kD6QDZ2yB3jYY5tmIXSmkKHcqB0DYa - VHuvxl5CjZHS7XB9+0vosZNSDnx0Lsczm4ISIOWxPCm9kiR7uURf4ABYXLqhEluXF+E0FLpk3+sz - DpCZcBNLAF+20jyaD0ION3mSDDCpBSa+lifpJE+yzLTcNmUr3uhkBoxJ1uh0di+jVEktOmntH0hp - HFQvEYYdODsODrrKp5jldvbDC222Aes3xP4cSNs+hChocw70/PHG5/3Tdtvs478d+L/gWM8IMBCU - 4TZn/RQncqYXPru8SU6FthSLT69D2/Lg1dSTxjYV6oUVMQ6G+Fl38QRODqFuDUMtQpnVI5QsQsUg - VFqE0rcjtLpczzSq3oRC5rFG7eOtuRCKoCmv06cTC7hFDKbZE/Man0xD+0gu3j2yeIDmjuRBzxQA - 2fTJtpyFdl23fpCktLgjQg2t0W5p/ecvu4Bj3+u8l9i/7FrzLKCAgemB9N4NNJ/ZXj9A2ms/yAak - fkQM9yDqGVBOo1swEs8VIPYgBdzHNLMDqc6DWn/d2LE/YkGaDUhzC1J5DaRHMcXyzmUCUgz02E8Y - YVRujGqEoimvQers6KU/OLIolcepxBSkYwIBugo3dSBl33N28UzZYFRsjQvYYlRCzujkWaC9qa3m - YdYN+7PvRLbnR1uUytFhRN2Bm5W69W8+4vDVrV+5nk5GpDMPdSPlZyn7gVL1KI3Wn36o6Z68aa8O - ICppE1GMvgPN85DWX7UnhBxCi0FoaRGqryFUT9IopykhxDwlhNKzytXMsmDbH/h0FvV0/WXO8Ume - nAVDCJEObQ3Zp1HUHqHdciPlLqBoIepe3KYqQgp8jZ4bhFKDT2pZIbwvsG584ksjr/s72aOT33mi - XpbqkdDYsZ6CrBHZFbfeYqE4RLoHtiQ1ESzCQ1ZP1D+yffMJRbYxJAdKcDG0a3I5dc2nGkwCt5gE - bjGZX8NkPjSun9lVVmY96yxtXhrwMebCcfXMPmDprOuj981wqIzdDYbrPXMe+nx5MbpMHpUqnncX - zycgm7sZdhsEl8LSE5YxFBSdnu1ifBSzT1hiWwZBOdXzr9/XGSTTbG8cNHDicVkLN5Nw0nuKNyF1 - lC1mi07olgmspD+lnIYlkLexoaQdPJHLNpjqWk8gF02zzgMxgcdnsfikKT5fm6EAHMJzshjyxikQ - j5336ge54cmskdbUkFc4u4hIw/e1mhW5X6uzOZOG570A2YUUobvxTeqTZuoe3JIsPK3gGbZTsfpR - RLOFp3lwwehGQmnzJqRjJ0U4JG8rQMd9J9ZKR8YiMbXVrzGCEpV4vVveaZ2BoxE4i0Uoe4Si6Ttp - zCRA4egutlEgdxilbu+giyihOIzqPKT1A7HHKNjJCprJCraTFXiNHoIjIUmhd5kQuLVQhDIZr8BN - D2kByrROocl2KiC9BY4RIUy9BqFFKaQhQeSnK6VLoZJ8UVS89TolS+Amyw9haVIopOd4tJXfNBhN - ITcRBW0ZP+BQ8BCkEk5LopkuaJXhpKG4a/0YV5uCqkXWS0HJt53g7B5ythOWR1dp1M1tQQQ6DqZ4 - iCL2EGXextNNWJxw0PUkfwJUrcTkW7RcQrxIuk+AtvwtHJmL3d/IEYMgU2TiNbkfIVPlM3vymhPy - koUUli0nUHcMYqbYWHj43lLyUvUdc3sl3iaSl0W40VsWh0zLxFNuJaCqRC84ZFqlNWzLW+ALp0/F - 3se/Heus0V7IcEMKPUSGcWg8UL90rY+tAuWia1KoUzVEP18Bu5eA7A0/iovoULlXkt+ZJaG+yk3A - 26iqWoASurAaZgipeO4WLUDJAJRSA1B8bQSKfBhUoOmAhcqMvEW+MyiBaoE1Tm3rUovPNVAh8BKo - Q3vw5K9eS8cMXScDbUCLi6doWhFD0goCAATIVs4Gg1o9xEBt/sT2xYX7/T0Q9A1wOloZEwqLYTbA - dT5ZVQAo6SZ7+h6UeL03RK4SeroOfAQyDvHJvmEBKn32zP7+9RrxmnAWB083L7McEV3iWi062da3 - YnpQadMnvdaE0umTKxOOSDhkyjpGJ8mdRUGRcN2EOpXLvGaIcjdWiaa6RRk3LSm7YVkGv6CQk7qA - ovqBtpLY+acJZ2rH2TnkxC6HGuF7NVpTcIvaXMY91jlk7ltwPk+Z9Cm1nKSxpluutov1jY2cCGWd - OjutUvErffdz+ISmkF9NsNCUof4ldS7H+FHrNtiEa9XHhNI3nyqu+Ux2qJKMxoBcfwstNpPlh7Lp - PR/IeGKTX5t6Ch7GlGZTTw14zQwG2JS790yMpLjOnGrbldTdXRpsXk6R5urSxpR4uG4Ss/eCKR6b - WtQxfvTk7z4CWqzsEUcrOJBz89imkFSTBadZ7ZPWBllb33ELzV00z2y1VsWtxIB5rIWfarr/zJ1r - Ald965n9ch9afij75b4INprEwyNacK0nK3cnYegl4ah4Are4W2hwA5ZsS9tMNp5vYHeHIDS5E2xl - m16br2Q6fXNnla0EnlFD+S5sc45a4poacoK19+WXqYe4XYLv8GlH2AhDSl7VS4Ewd7VtKuLIIc/I - Qyz2LMWUQhBz895yUGdUCEFTu9oXShNOafBJZyblfI5LGvO2CQJoHuKSg16Ta8HKtuU1Lh2L0Be1 - 1K5nQlfU+goIyvBKGrO3/AHg0nWdFP1LK+BSZzUxstC0l+4QS+s9EijZU+k3CGxWTK7li+eszIzK - 7OxzxfG9UNLidFkIYUIjPEvaHRP/gKVtU8jfGkFsOT7qrbccLK+vs4MlRz/IxkJ+sCLidbKSvzeC - a7D5qUJn78UAsYkmPXUNGmSimGByU9VS+NwtwatxPhl7hofi6xE4x2slioGIhx3n1tzCxw8vytEg - sm0zO1NecIkyFhre3KpjDHKkbjuILwq9jV8HRwQwcES7ZWsDiAGdDP8bWG6PzB48tXvwEJROQ3ha - xMrMT00DxbEtdo3IA40J6uUmLdHo1Kbh2uaeGOFVM5JNMIkmp0au7CF4njl8opGjoI8mezRalUEE - h0bj6xQ0kzuFz9FUPdi+rMxNKF+h8+BkB/6O5xiRGYNc/fDgcc3nY04XTrqemykH1K95Mbl4jjZK - SlHHF3DG7rY6RV/0JOoe1+TAadcxAbK2rysndz2GNldySM3JEYdEzft6arpwuudVZnJab1yPxzCN - 31e+XM21LlnKuoLNvinpZ5tompKiy0vACx0dN5ujX6yFmLIDJyZyOwji+bxi6R8gV/c8+dz/PXeO - nLYW22uG9joFArWL0o/xzHlLUtJpvswzdGZRHKPzPgbMkgpvBO5cPKVTJTSEgXSZ024gYByK+7Pn - gLjPm9ckso0le679ohQaZDoCqGgz3JQA2SoUvtWvrAlnuiaYdzhTS7WzZdpX0hX30sIB1z65NXoj - CSRDZMqy8nnA0Q/A2On9izsA9Py6r1yxDOdfxW+QgCby15wgXumO1Mcw2YOx63r6M4SaDEcgkBwg - wXJ4ZPaitT0ApNc4PC5fa0ZSqs/JhF6X6/5PE0gGxjUinXZaxxFkoxN6EcpNSLNLlzgkfVK3VMv9 - QDMndqBk8ANNdRdjSOoo9iZdakC1q9FvbssrB23S5f3TFdL00tqenjnLSp6JWLzV8yYa31trgItp - 3/EFD4z6IRh2pCzbIbVLmVnV8gVD8xui0m15dbvu9RzK8ex+YsLZCCBEJ4onaGh2VPaqatkukJgJ - WLuEiWfrI6hfWx9hCWVighOfo8woJdUNizUwbRxzV/pIW/mshUQRYHgx7884qR+VFPINJmavgCD2 - QAzc5iU1VU8JkpEcJA2zXtp7BYitw0q2k5K5AURIh+tck2bkDSXA5HizBD4be/3zaFj80qU/9mML - RnBhzGgu5hGHvm+I4ueXdavWkz1RxGVM8EMSsnokV4JuQmn3ucQXsE7JAuw6F31h3/L0enMSUZzq - ysDzjAiilPWIpHjH5/Ulbp0gy2pRZKQqQ9zTsKk7QOnGXVC65dliG8tLh7lZcE/trgjWixR1uDTz - ETIbXdTc4kI849Rhrzj63IWecOpvCCHjhCWAUK7N9s2myAOXuL5WAOLltYKgLXvG95oUY/GtSO5A - SY4j+LinbU6JzFV1BJsj0Z0SFfVS6bC47rOXROVUXwZOG0qenZ0knp0Qnd4o/OojCdwTPhaUAw+y - PShpI2FZx+X+4kS6bfaFPUgrHlt/xfiTavf1fgEO1UdfU0CsX/85CLuLPvXkjt0JiXmNQhla2AJ1 - umuZOxSij5/C4g7+Q2u7PRhyZ/Ca1qYTalDYRjEdizydFquT61oNqSDNDvn0qVEhXBjWxI6L5fNC - Zg5D7fzJ0J5LD+1RAdBff9me423lu7lDYQNBvcM1TYdq9gVyE0BIgY9xeLQEWzUMJqsC9Yse16n1 - XxoZ7jWxU3zT2GsAwVKUQuxxLaoOHVN9+PpLrwiadrd7wDYfuk0ecIJrArCRI03mQdWfFqSA/I6T - GXMJsVzz3K8oUvzqQwpllxjLWjdmKEe6TIvfBMXyw9mw1pT7ZHj1/K8lw3Ko3fRPjNh7L7neIt9J - bKbdxLfcyxOB1/5Th8DCrpaRjliNQGl33e6mkJ0mDNhkeC3brSBohZvSF4Sbju8KJoPlus8OAF8T - bvrVhxQh6PK4/Xfaxbi00voeBNZfrEuG3O50oNWAwfYO7/nTCRLx8AGdX8u+1XMhLDy5Z0/lRKbp - gcdOAMatQ6rKWuuQTHFKl852r6Xm3tBEHRphJ+gDlrPxGrKFnczhLh1a/VH+aZlDpHeYkOLAAbPo - F2UOf/XxxF2fiPy6InD8A+kQv6U5/EPekVUA6jwDyk5dlHCJOAEr8IJ5rBKbfTPohZuvgnIpitaK - /n6IdLfChcVq/hZ8CXNfkRY9GhBDeYeJ8O+cKn0NcE5xadcRovbpz3SEOC5oHOiIfiYH9g0hB0Ir - hJatENrnw/n8t5McmA6VCqsrGk1fTWAZrh5jdRp9jKAUMXJaI7LrCh1NKk4yYqPDTURjTRdHz2gP - yK4p7E4jrwXxBpFOStTe60QUXtMzCxHunwCkpHcsr15HviDE/auPJ+b1+g2WjeO1pPRvZcHyX8qC - JaT1Yg32DoQuMoywRlqxuU+GIsxUxJ1qIOcOax2V3U0Jo4Oa19V2yQ/pJTuYH/afkHfiafL7PrC5 - kBL0+a/dQ8V19pM41Lz/E1ijrv37HazN9bNlr+9A1QAG8UUPUKr37GvYfacHEyUcu0z4ZbbSES6x - E22FzpggJYs5bzLhLZjSX2R5veJbvsXy+lcfTNoVnLQpOBNH+rcgp98BuT+U3ihVVaYlzr7mM8hk - mE2ONNHBgbUfT4zUudTlzv9jDTOSv9NokB5JDX/KaPBXH0SGDb54k9L+LQaFvyWfrR3N4nagEMs7 - x/f4kjUkwx5pX3OQB0uhMMMwpXUKfz3UsLOh64pIdlWkNxXMzk83/QVQw4fTzvSu8Lug5g63d6mM - N6lMaaiL+0fQ9l9KZZyCVo4rs3I9m1xC7YuWgVYKjLWMLQNBt0jrbI+5Q9oaaORM4/8aoOFUtvib - gOZiKLucJuilvywjklnLfk7+Iwyl9FM6NFM6wdAs/t0/3aIl1w/bXu35n3ZWR6vLwMD3IV1/f7RP - byTfiDmBNFRC4C3kIG8hZy8Be7N4S5HE/BdAjh4uVXGm0vZdkHN+1WnJi4j+nUWk6I+SIqIXdFce - 1fqgsqa6QDOP6n23xt+Z2ETGrvAxbkEmW19qWmPM9mox6Q8W/Xt8xQcREqfc4zfhy0UvQa/6Y1W5 - sHPbdDltfNP3J1CWfrpVkxx4ufyV35AelQi/Q34lbAnCQ1Fr6zb0QNy3prU85P61bAHnDTWjv2+/ - dlgWiHOVpKR/F3GPJ5LzO8KPIs6d0O66tdTntL9itST9l1q1VDUMHzISCQut3Z9Qfjej/R8AAP// - 1J3JDcAwCAQ7igAHLf1XFuX4GGz4WEpSgzWWOIZ9vsM+3V2GVwfYyvYj13xJooj0lg/t9i5cehoi - ZLOx9SK43NOBi2A9fLTrCPkRXODt8qoaKUNhOVy6Ei5tOhZcXQkdVHMKsWox3Duhi1xBdi9JHgAA - AP//3J1Jkus6DkVX9BhEQxL0tDZQO6n9zypoWX4E2ElO+X87h45swmnkEUg0935G/6zcqGG02XpZ - /8zEMUWXp6B9aBZL35TFUnRSYnSo4BgvzWLbWG1rYBhWWcynJWcw2XT0uqy/FUr+5dKHh/u241DU - 4SLCTABllcsEHXxgKpNvSmVyJpXFK1NZggRdqfm4JCyuCQsTwpIhDD6AsFQIYxxN+l9FmA6gxG3u - dkxYaqb8g/8Ixr4pi0kaKoeB9/E/ZdzYSGdgaiOjpDNkOntapCq7zlamyKEnrWah2V5VspqGqVpV - s7jJQ1ZUsbaaK/9lUDur5HpBGEWLxM9WhPfvXW7RhDLU3x8gdgTYlyQqv/6uFkaSIwsPY/jfNoar - pyNPpuWKXPdpsp5xGMNlWp3jGO7X8W/A6+hDcGfN2naW7fQZayBNBRjqUEnsNjXDrKl5BjXjo/ss - i/zv8eaQ9TAjG6dOkLqxub98sPZ4dcDFSA70Ngtn/kY04CywiPTFaWQT/yqap5LylLN4JWcBmN9D - WpyQhoa09FtRM7IX0Iq5K9JotmMPLlB3x2laWDxDmoiJU23qB+Qw4ttamuX3r1S8thYZwg3SqUX7 - 8tYP0xUupIt9wtfowgVdcpwuxF9KlzGNAr9IZF6sg0lQ0RL0XRnEi/AiYyGu8fIlA8S3yjr5sBTu - 3mSdSlPsFGBeHFV1qilg6Vz6ClPAyKf0FsBgwpfpYuJvzV7WWsaTwxletMArd7Xyr8peRNnEiWu8 - yGEGeF/68rwUa4Iyhx/SyTWl8taPw3Uue8UpXAhdF70DcNECrlmjhU11in8pXcaJIidr/xzqYGVp - jZt+VIg6Q5axYfe+mpwqb8xr49FLwcrZpTVXfCMZ+RkO4pXFbXpZmwBanHIlVyYtwPPH+L/VixlX - s+qGmXbj9x3lj64khaFu3VWI6adhxqaoqBljF2YJLIauwd1lCSzjuFCfyRH6d450ZHIJl6SVvaRw - w1N9sEzDBfcnX1feujzH/FreCgu+0vGuSvitty6jcl3kciaXLlncuUBOL9EWOd0sR6napJcHkxwi - btMc+ZI2itzVHVNxUIR5wsr+soNgkRPv+iLBAaLilUM3kT9oDeI9nconZaZTSZvsz4gymrbDoPgA - ppc4mw5zWNSYxiOJUgRy4VsO80IO7koemQUZcc7ajy5doFmTHPsyESmtaTsw4qa9ONoRbdMES/kz - Fth5Iup4DXJg9DiTzGr1KTuYAYfwEm58BrdoCh61qGoSRzF9yxkkyeb6N53CeeAG/kdzblozVbBb - P2SgJWywZi0vWDOljvwJW37/EGtmmJQaq5SatVV2g0j57MXsjhucwS0bDUeorcTIkfy8VDW5nqW1 - DDWW4n2RQTp1Mkl0YKn9yV64jr20WRE3cwOIa/ZoCV+1YNuHz8hHfIhQyz/AnlEei48Zt1FVpLgL - nZ6Bm260F/QkzZZdDHrBFEaw6nBGKZYiqrBP2vO2fEflrCmV8ObjxbKitf/QfPgDbsyjXbLiqol9 - 4bgoblocAbgw4cXtk28sbsFMnWKPurRcUGKYU4do9JHyKem/t+9RcB5p7iyk/84RaDYCp1Mhka3N - rcYv00sVFMEzAHIci+9EctzqyX3sYiCtaLtS9C9St77F1u90d75VvOF64ZbtERPnIknCH8RbEW2k - G/i382akyUJzs1MJL8i2d3FZq63glqZqBRa3ZGXlaitpcUzxW4ZTwyq5ndT+wwVuuV+oZGvg3klv - tNSTCJY2Gofp7st3ja7trNGGRyjzeAvhtJr7ETXbJ2FGteXhhjVSbaGGMCXhmBLmVyCLTbU5TCDL - JqdxDVlxMAn5WyArc6PlsAXM7DPOgQsrLWnv584lhjnf72YHOoBcngXsz9Nnb8IcG+akOVHCS8Lt - 8+V3PHKYJLr5gYkQl1b0yN/ykI/CTp6RKOPtpjIAj2UOHufwSh0lNI/ONJ2ni3Z9poph+QPSz0+T - w2cmh+0jWExB+vsy2ql7eHnnYSU5sVN4Uh1wjmDgbhGTzLYTtQAGXEZObCGFh7F7zgop/vDfNU7I - I93bP6FIi981aH4MoRHkpCmEtK1sjSAMoSssjfZ5yg2H1LQPGhcMUmsZ0d7ral8aJhe2Rbe/Ntmb - AfkjmIxbln9Ek9GFv8Zs5YuHaivPH1udYoKMNJaCI46ha+rFZ1JjKx9oqtIMi0EUCFqVPx6ptVDn - 7pdgFUrwtpUXpx5DnHBBJo99vehyXy8o6p1eBukxOA4cXvfY28E0amckra1XLfkuc49LSty7XoSw - qnY2mgjQCEJGNVsUTW8P6sdseZukt3+xLLj8DSY9arqPaO4vt3Dur9bWC2ltvbBVzdLofhEdc+5f - 4klWU2HQKg2a4HHM8zkW0nrVCXpH1ZBMABlbILOsQlh7Xv5txw9iWN6rXnv7s3u9j3xn48h3dn5U - PeaYGIZZksHBtpjyquXsE0bjwEDNuo6qwxDdNy6HZ1WE7tOVjWGihVGihRGbJ6tST4hmLhO4WgAh - ciEGkySxfrAS1VbQxaugQhE1ipNI7t/6AxiTI0rQXUAlcpFXTnxPLFfG7AFlasxuHRuwu+2d2Fw8 - cnuDhOYG2QQzGCqtLzvrLrxgsFSypjIrKnNNZTqXJtORhWLINxyYmVJ2QJ4HaN5nastTKLMfKUzu - aJrdfZSmJ6hOPh35Bd1mIul25JPM9BcKnHbEfVMn0QFVE4PJxjNXJe+ijmD0ysnF6giLaTuL7658 - uX7M7l9cJsrnjy2Xw9Oo3A3s2A98aeWAL+3OZiPCALa687g37GwCTtnshpGDFTNEaS+XaHfsNmMW - Fcts4TQ+0VmdYQEI53CCul1C7ZMJB0uqcOhayXQLI4PM5DDhwJQWHlVVoegl4RxK40kbGsU1xWR0 - NEUyAr9QVE3BPmGpuYmoZeRkijtYe+JgdEBf0yssZptLkd4nedYRGsgebnRWBJ6TF1MvXtGb22OE - Dnpszzj2sIqVlOjWbLRRU4dVIDbDTc9/pu2V8meHUHPHpwIHfPC86k+uDsHj2pgykNAiHRpzWnJx - Rl6z+KpvjdQVAbCXDmrIMyG0pXEE0tzpK2Pd+i1/QNLD16wL44jqxlj8r3Pt0X7sxvj8sWVpPN54 - 4PeWS8ru3hjL55z44CG1kR21dw0OUeM434Eg7tuKRTSpUGKDIzVrEE0sTZEVo4mlGsuGCE0eFJUH - UeVBrKusm1vncR7jwSorjiwz2cVMeQBlfNwfwYdMcyaNOy20Yg8KStg2Jkb6o7QdFM+mw9gMZcTm - 0RpUsyORnhslqsEsk+L0NU614OheFj90ErXu0GBOLyHrYuriIIrUS4cI1rG2M7lGYqcvYgOgbXOQ - 7jOSuiXCtqRRfV6o6FOVVKwrqZBPhQ0PSrv5kxOj+JifEQSQCFPwrF7YttE34g7EySwZbrrkTRiz - txcKS14A+xCVhrycNHm6AMdQK4eJS1GCvhqqwg2krVO4p8Qav/1rR2RXDgmHhVvgkWscehfSfV+7 - FYeQoV3LzmEjF4Zs+/1Jc9hsr0cdwX53yjqRRc4NiJzt01NCo38pGkRGE0RFInKwUzYQVCokBSPV - MOK5tgYeK6UWHdNBKvw/AAAA///cXU1y3LwOvMvbR0X8kvT2u4Dvf5pXGmpiAqAoyZ6xPVm6nKTG - RpoAGkD3qvEDOwNH3KhUQQLFOZOqttcADecTBpIa6lNT2mCuJ1ZI0QOS1L2qEFyJSXgGSOnFntcf - ol0QftSCutTaAVIW6qjU+3c3RG7fPFZquf+1eSDxjfBNrskg3aYdJ9Oj+naRDtZwaJ4fsYzzI3mm - RiDAUpl9JD1TQ8X1i2LXAMQUqAQ2kNun38FkD8lriCR8UrNIzVgiYS0JaU7TeJE/mtI0wHOaBnU4 - Y6x+/J9DaQohiuyZGrYGPZls069907/+HCLusIJMglxl9To8St/4g/UMnCVIbmsEh3FcvefGGZLW - V78MKTe4yYGuoSwKCedNYxD/Yw9KsqDkA1Aqj5pGrsUvc2SJLE6YVIFPlixuO84tDisZ/rTZ9fa5 - kuzEUczE8TY5+QvMenbiyGf3cmRvOY4XymmnY2TakEmFoegcmbYFAYjTfwNNiIvfFps8FIDxm47i - xxql+NoVw8GaOBYVbNdYjMI0LIouVbbzwDsyU5vP/NWX7uf/92+egebx0WELJl1NldCODmtNrIQ6 - R6XvJKXMU6XU6RoAfpyH9WEsmfy8MVA50CYSJpK+CxF/BFWrC6WRYpKC7u5Xe0iqWRLP/UWG4LmJ - xjkGJ+95su4mSalbE1lSrmnOqDrVx3Y9v6u7X8OG3P379xASDRf9Sdz4n4qvW0s7KulDqD5PqhXh - 12KKHTAidXWhkotdAMh9mjTnh5B6KJYFT6lP15MxpD0XIKqLkg7Hi/XgQCPodRa/FCd2Caf4uQay - C93wEb2D9KNSVQ2LcaDF4y/7UlXdURTYrgOsznth9Fxq7meKsHRU6qbrcAdgprM5scgXd1VX6/HW - LA+AWG5kd4KaMvFBTsy278iRRbU2TlF20CGxqZKFEsdNqcTzOVnZbVQRFxfJzGbCoZZJBexHHHnB - aq9Jt4++xTEvXalatl6+HQEvV9Y28slidRW3u0TK5YVbRjwiAN5jFKFRGSYlYl/ZNNJnf7qBOBwO - Z/WH3IShTsVAr7a230RSLb3a7DG6UPb8Ktwz9Ed10xqNv5DUHpL60T9C28M45gDav3cmKV6zTwZL - 48wnGk6sVeLNlDWXjzYMrttoK8FBv1r8wjHXkBW1cTNdEBn9KUAxZI6oTYpMHbsqC7fLnC6Epd9Q - ZdNraMcBcPsxz+JRFj7bboy34mSVeoLhyyqLNB6gyjqNn/eOXi15KV4smdhAsgQhKLTRHMtjcPXt - RtkI3A6TRL7jYArhVLtAjpJdQHs2YClS7WYcLGwmyIt0dc721R2WwicbjvZbORNO2tsdpwWTwhid - RVv32AI6R6ftOiiasW0329u2ahh7uDyZxho1xEF5gTy1I+po89aHmmAWU7FytuAU7YqedYxuz+S2 - H+6+sdq4yPtZx6If42O6NHak41OrFs2yxwXsPLN0OPVw0cNWq+3s/eOg708ueKOalaj4MidrGD9u - 2ntd+CR0/xXUYJHsMge0W9T70HjJTOQ6DjLx65f/23u6bXK0wucEErd/8tTDeqn1Xz99OgtCp7uM - AwInm0CyRyGZQEId6n3dtg9c818CjcOUQyAxPKpG0jeDg2EfRc7kVIdqMQ9q6qPYc6vLlSny9ks7 - Fclx97iaaZPIOJrSCh7OwrnOZx4umpEoh77e+ZstP2KtNpZDNg7VC0gBx81xyf5NFfTsaqkOlA6T - bN7UKk5cw93ksJkmcyPWtkf1HAvAO1sc8TWlPQ0bXXAcR2o2mOvhmaDInMwpvvvwq1VgjCEah9U3 - H+JAOZSwAUj1gCVfJ03iMMnqdRuyFGsoZuNoJsqrI1bJtnC1bEA/8WhLendQwrn543IWjYTXWo/b - xk1KnLVQnl86ugjKEp5Vo4gSz+KSiyAONQDUX8blsBOQk78e5+q7x5Ls8JHBMjokuW89hJNpPbbG - aQuhNDJm2HmUMwGUs+/pLhu3J+OwzK+Mg0h6yb7pJ8PE1dBhsI0ajKZTyPfVyI+yRgN/g4Cuw6Ac - aFRr9AHFZkNQ46RTKvqhsZ1OZcPEQemYOM2nmTg9W5GO3SSUlpLqDhG3vaEAFVfL2TkEnQRmOBl3 - PFzo/W0ohywcJPQILOwRWCD79gI8E6fqU6ENZeqvqPLCao9u/uBSeY8SN4J8i1zi4uRsjbrjufMH - y3qSoWNCjtp4Q1YV6HKATT+jYlfbcLHrxuJzIlSXE0cBJV/bMHsmB8i3G1h8lcpqqBwAu27cmsmP - CRV44XUDSzbLHFr2hsbH6xxnE2NKFwdVjVjNClKADzKjDWT1m/9iLK/8LoeiS4ujCpXdoENCdVqb - dlT/uKKHpKCDpFPG0YL9kErVyhnVhbuW0doRp84htdhFx8mIiukpWbFudc3R/sZ/twGI33X0KEx2 - VhV0VcTGb7gYVxP73bic/Z1xKupC2I7dzFIVmcI0ZRdBNoNiSj4/pmqX/nVvq+rioiN9LUXyuskH - OymSmk/0YZ/xHsO5wa0Lp5r1DQoEuTg46qjeKUrT3eMVj+qtYZDDLk6yeGzNfr9B3tOpuErl2MFj - a4e73ap+g4P6iZXf4JiYqp6aVt1ci3dYnD8oi7ThwGiLo96e1gxUap43jTXcx/ktDhB7kFOn4iqY - 8rDkUc+nBjo1ib9pBPJ8KnZD5NsWsj1MbZTexz1Ayf48rpjzuGIOAsxZ6rWbcSgn51ZJLp7H1e1c - vK08znHp+v9A5Ajajcc626pKn/BqqtXf4fxV1+g2ySfWMrlfp+JF0qvc4Kwfdo6zcPhG820pONjX - aKeicSHVK23U5MmZFAjTFHp7KDYHErpX0/SIgF5j32oYAezfoZ69/+av0TMIS27t0ReOUN9jIEFD - KWpYthxk2o9hVqYwm3nXHQGsQ1fe7h2f5YyAm8DI3LRpvdnfVV/Yw1reZOCODk5vuPMdYPK1J7iD - UxstKuDWpIaTCqheyhbRDyqaJbG5dytBRcOgDm3l2YzeO1GU6mFXJ6oLRtOvXHsi68lq5bL71pbe - UIig5rk4owsl1KnvcR2wo1/Lbw8CXn2ltFZPSi38lxJGByBPhCLPBYgKu73uEX3NQaadMAeoxdvu - oFiDFmxO5ASTFWnXeqQbPVEgkocrEMkbw66OrS6qqjtaJynfhfqEK8OUDvUxRYiuJH1RiRgXEw9R - h9+AupWge26640NDZFrlFQne4JIh8lq45JPZDpPv5pIcaIB5eQW1EJSh9DBi8efdfhCRGjs5V6hJ - tpsDe7wG2aY7Ua9QY/En36bLR7uap/uZ7qwk33sMI0bddos6bsOzX5fr8JVaOORtsnAKaEFsz59v - V56bj2d7/JLHd6JhrRAgIo0O1dlSVYs0cGp71oacy0Gqo32oXdSk5S+mOoAF2oXzCHS8ga7lOpyD - zqkL6dyAC+MOPv4KzD29sdN2BjSJWrr3A9foLszN3vXwUntFYLTfQs9CwxW1dqxYhnKX1Q/dPf4a - 32/ULgP+ss10QYM2O7l2bySTTmtCn7w+OyMGzW8387Q99Yv0RYn29xhFgqBi0i/zou/OweoIV/4h - 0NFDyst9yWdsk4UZ5PINcvCGlwqT9VeKMgfakTOJkFxxAyJAGZ7rukBBDcRlFOwOxiRqmzqvvl7Q - +ZIcJDpri0B7XkDzmhJO1ZS6d+l54Ll11hDoPcaSNGzuWq3n7OWffkWKo/xctOXDw8AVben2Ol5a - BqS8wK2XQ8pJ0/QkEKMF15Ej0AHuxmbzRV3IOPCWYRcw+rpaRZnoRkIWdlAv4Q6fa3gnbyS7pgeP - A58LKIPfLTPY45DsfgX2+CGZ7ihu2//BAzYlvSV940tsCsNSTjd5+EjPyU1FKXR4KXkyM8Av+MeU - YDjp4OfduKznCOSD8vJb7SZXj4M3Gae++0Lzl7wm32MoWVtB1QWzJ1R4MLUzDjJ1KFXxLfjL34G/ - B1EqrNOLsBVjlB6JsbyznjmXDx2YTOrcoSk4upJzdP266fwDwHUzTFu7AnqWcfl7jKBAgJYxmcQ5 - tE7kNXoGriTktT/Ua/cI9H4h21ctbtsXJ3qB+187fBBld+9Ll1J1fCwkcIy2R2Y0TsM9WvQqWhFu - GPAWjJdoDjeLtm95EI/0s/DGVNaLe7SX0ebUCTQeQPdoy19G21OymLxSFhNdmmnLmSE4fy2f2XMD - pqF0hB4nNCiHtsnoakZn/onWgCcV+gUZDW/u5PniDd5VjLkYKgSfgS6Iir8TYoovBLH1V8xn2zKW - R0JMhi5XlA+TGIS2DAPEpggD25U16vKnEUY3H4h0Wbr8IsJsCHWQxfqtPM1hmcveKudc9adw9kqp - TI8bMvliAjMHkOMNriBKPgAXHIILdI4uO9JOAj+PrtRcVvJbemr+ciHMMJ9kZ/Qs/69IYPmVEli+ - 39ycYfblkQlM0tAxxbuMR4ilUCIGVh9oDjE7TEu/gfOAG8LgLfFTEeauxAf5q7/5zzksaNn8tR6m - /xTMnjtMKyes+2TV9Yf8hpeo/PWDr0/derFY8txxGvWRbZmQXPco2kjFA8DB/m1UcuWiVyn6tW/j - VXC5WBXwe/4mexU8wFaBnyoNyytlsAJLbifAipUqz+EkDywSRYbFO5VDQMkhoOyGsQOU5ewT/ob+ - 656/AJ6Zv1z8ynwcVnJwHwKbvX4OYq/UfRVddHfZCui/9X+0u61fhVAmR05Yovrsl84tZlFpX32o - 6El1eOp9vHAVcxZ64h4q4PGSgKxoWiURLu2h3j78TS2YEWlXLhjoPUbs6CkMqarLVbBw5fKJu+vt - 5dsHU6vN995BV8YD/XOFRQOXt8yD7LdNxRqPFO/QJVePmeiz6GLnNWpmXusn87rqbM5h1j/Ry42u - X5dOquL+7RNaFeWkTD7Q3jYcLYJ5xwcI1hfso+yYQk0fCTVsQsufgBoeQE0nUCNXcvx7NfwGNXcl - DxQdDQzUqFUgO1iDJevQ6Dc9KJmxR1svPgmr9DKXV7nZXT/uzQ6WMwPCHFLyFUixhRRUgedAqkwg - 5eaU+Cpxugqp7GWXNlJpN32lEgS0j/PXwwBV3Q5ib6+0fjQirq+CqPXjZpkCKadHAqnJ5nwCSHQA - pFk77AYmL+N/fRlILjclnG6sQaIpwwSrn6A+EUoSSsFesiytx8HfMtx6DJTI0ExzTD0yOaXr9cNH - 5zSB1JSyVTcg4X8UUk5CfhPD2QFULV55zMGJE13n19fPehpRgbroqMB6e+z1RSJVbf/EU0CVxyWp - dFfWD/IscAwpOYCUdcAJc0dP3H5LsI5G+3pfnNH/PRNo9kmstEwMVCpFw0ZTZijCp4BWTgOtusXd - Tt9v/exVX4VrqnQFZ49csy6l0ucylx7ATOcwA7ee9irl+lVM1f8DAAD//9RdW3Ibuw7cy/03i3iR - oFaR/a/mFjWjYwLkkJRtxdGny5XEDtTEq9Ed/TJEZ/vGMpgs2cGS8JdQNV0PO2AlXxNCM1lSDQz5 - XZClGtLGUeyBrPKtPb5VxakfjaE6/wa01twZXIDLTQI1vYyCsZG87uIBnG7Ar0xeTjpT5zNB7ZyG - LM5ijl/DGT2DM18pQlPSKwUmfZdKUSnc/WW2MliRn8NZTvi1BAZrkC0qRUjuUOhdgvUktMDp9GXt - lN9aaOXSSeybwjAKfa0DewZZvjRstpBZA6f34X5qOMTdNhIYxB9MYPnC/xB1DS1aY0sdtq7jdb94 - hVcmsA0KodxQbwT/eyXKHO2TOnegFmQcvIS3mO4LhwtIWIFM84wa71CW0SlxYPMi1p9fsbyQo5Fj - 0J2zyZifPJvM9AzmfjKZHVpdPea8Jm3EAery8qqBaIE6l9HSSpX2L2s5MF1Rr39ESeXAoVMNS6lz - OmhDmsqskIyh0DCk3mO9ByI+A0Rr43wG+nFDpEGi9R2h0Fir1+835njHV6c1l4ZNcdPHH5tHsAq+ - 3XD8ikrIsejQc6T+5eVz5zxdOgM8lwPnskZJhlfoAN5uNEoPSMQlIH2FSddhvKtGo8cjzPCIL1MU - 45oOQS5UBK4T4lM4dGd81BsBtzjs92iGrJhS/lLVmWV26+xx6Po5bsqYREHobVqEROFOiFqcpZ+Q - k4VaZicmNlfLTJhx7JvuhKEHmCvL03T2pSdfB+1uNoJflxPDbdDhGnTxRnwlevrxbcnMA3RORky0 - m6K0p0fSLdvYanhI/grmUpopeDjMKboiRhrOjmgQSe+yGBXdOlQ/QIfxWdC5hgGM5JvkoTGsukIF - uccc6VJw5f45aDEn1zGrzwPkr0tn/qBG7b3iBLwQh+Y6jc8/ATonu0JhprpCnbWWlRzA8hXMyVSl - ymNO3JvZejFTEOV3oYwITa8m/vTROT85xuRnDjRnYic0tCSE6GvKQUkpsNQSS8VBLV2G6u5g2GU3 - 3FaDflKNnbYahHSlv/LB1YWbLzwmIz2MRyAnnVeWTlSM1e+5W3V9XuS4Ly7kKC11Fy0xVdW9mc3F - JmtIwPldhPsqdXQKuV63jxeQkynkuAynYUjeN3IwzEy6DJT6Nk5dpOyyW0C+jjnerig3zA+w+qNd - 9OMfVOfkV5aum+YHJ96cPuZpbHoFOPKHMVYe89jLdIUKrxAHvh2HbipN5pCpOItsaDV1mGqt9vIL - C45LP4RjPF3NCZ8Tq6WQjtm0iJSoc0B2OTAtis08B2QaXrljdIPOQbVZlmEEvx73hiROGymlTqid - LB7TtSNJeu79TGtQ1hnnjeIFKFNQxitHkvQoOrOyTJawFZROh6yi3RWdRqy9J6bYNAhpFNBUpg9s - DEWzT4TQlzQWlmwTIUjD2CMNSYvYYWcbTdLQ9A5UTnjdw3l+bzecpEE3xfcvRFJLqM/ocGhNuuXM - dcCz1wX0PsviXBR8ScOmGeShiQIILStUQF2FE/xeHSbxrL9K7ppBnnjjwZUT5Txb6iYwUS6BeTV/ - 0dNlWQvH2SjtjkrnoTAfehLP5QFJQXcGaZA7WKIXoMPOxdeAMtspDLbyPUQhk3pQ5haVZFDJp4X5 - gUrcXULQ0RpvCfKPwwiVnpCGNQ9Vhgtv5stORRC8rQkWawzr9xAoNpBDTXDxBl6pL2A7sc4+kOLW - ggjXsay/SpY5IME4eAFdOTJvWJ/vDWnyjeXSyT4DX6wF4RzSJMycYYpLd4j/kEa4KGFRu4NTtHL9 - MCIHehv7ziyjZPbrCMo+mmxMakqxrytqU/ygBo3ggGmaETxy3BlMLM1yEE/dxB1XL11XsQ8Te6Ir - ZOphNdA7e2m4MzejZMTI83V9p6gAskBmWjgvaBluCFX9zr6DJqZlMN0whxwyTSELCdgDM1tg2kzZ - usjCcy6ysOUii3S5JKQYEtxH9yNgPgpZiFJoDkxnrEednG60ZpZTAgZBHPq0OWB2uDz6ZOMI7EOJ - RrAVDpLUZyi5PTVGqsR8t7LXNpZIxpIUOXx2JXiKVi2H4I8/tRoSULrFcW8JGtKR+ntUUrh7am9t - EDvRQvTLDLV+e+g3iMQ2jjSse8TNWFO/QqTiZ6ziBz6+gHX3/Wwv85Ciz5dg1/ZoYIktLBGfgiVu - OV4i3+RixkoYqNwvCQewxMeMlSMVmbeXXg5F5yK80PeXFpmYCw4nBjDtSSoBR30FVPxOGBUsNu0A - T1pjt/qTouVlc4A2Z54mqg9onm/rqY2S7yXqTs48W5lVTyLlxuMJHkrQQzxrZL0Oi7VHp4dCfgbL - aCDpDUsdJE+RlsHIx2/1Y+pAmfzQp/gilsANfVxDImou0EnAc9vQrhjZDGG5HcLSc4sPSrulT77s - LVHpIleSHO0lQ0aaC4CBF04hT20zyRK4E8Z2mORhV1KiK30en5RPUKp3NQXxYwIq2dax9pHV1EwJ - 6iq22J0xWcUisoJFEj7jCeeF/lqtiMNeEUs3HkeyuttSHiOSAx9jgiKUMs+x6dOllPl+xNew59v7 - XxyHNSyJdOO7vsGE6Oka0CVMRtthAtriR7PZ/0tRb+HHNmOqsWNvtKdiEN7b/6ctxqmUq9Lng+vy - L+sYleloNM5gzktYp+5ROkFtMC1J6XrLx/cf4RwvSIoPJnqzYY3+fAm7UIoYBapi2TeA2kSyBGVL - PMWQ6DOOZ03wAGU8fWjvgdSQtjC5S+QQvGpFSIJwHM58SijcWEbPQekldI6ZjgGlqXgCeJ5ABBfG - 4RS2gAsk0InTFpXdghmTZ59Ktt0lQraxLG3ZE4CKR6W2qIRw30A/onl89UBl0a1onqXSMph6TRKo - /7AMUVn/9ns4M5CWPB/EOnkQ6TJlC8nkOeAekTGP110p+0Fs8VTwlFw/ciSQNpDZCjDmZOOY2/md - hKJmSgAhlyaKYvrK1ELy/NYyihIKbkbxgs3PFARkWPCkcCi3RM5JKeMckm44cIwtWiHac+F4TgcC - +c0z+TiOmpAE4veWJOohSSwOkqR+SJDRQpK6UDZVD9aa2tJ3IHA7isWgDSTPr86qxxY9s0YkoG6m - Ss6XVIJcYDy8q53dLiidxAh1QjDchpO6WU/JbTShDIlYnErnmkreLZzFVz1M3AXTrEiETAULbUNS - q1V74wa2p8SjKHgsSI7EeY57AtOW8/QB3x1Y8tgfUDQwjxtKWvaTLnbccUBsldPdtz1OLP4L3lDM - FlG903tO4KEooj563bwuixgoij12A8WGSceBcrEsAgzQdiDcLrikMXg82C7bfJAzre50k3w54okX - jytPlejuCHQdZMDsiSBG3uyYZrVhNJ0HqI4WIUzZRRGLqoMgind6pL7EEcOhw2IGOyBG9zagenVi - MU3kwWr5r8BJbdtRyl6Bg2XzLZVx25E40DHrGNQ3RLJ7s+ECmTq5R+KWMpA7tUcfyFyG/A83CgDM - How5u5sN7s6FU7T8cbEUEKDcxDGHfExkW7NVs9Q6t1FnIE8Wx3HwZsB4GcZz87VeTPItXhB56kos - jlGYzysAlVRYdQ7ITrOEPSDBTs7vz2Z7rngedP8XyKEgEGvuuw7PGgDwtSo+qFafYx02SRHIXi4W - 63XM6oUiQeyUrp0DpJb7QXlvDrD5nuqV/jSXgAdDaTAG4HIO5zaK1eIFxPuJuZnOUWesZftHUKUh - JD3ptatUC/lrAMwekhytwJN7WqO0pNd6aqJWkfWDg2keMTQku9PC46xU4+58bq995GoJf1HhfGCu - rIDx8wp1/16BGTkRpjksOwJIN6Gza2bP/yh2FhCHcjSUs7/PKeydTMTNzgGo2zJbL8lkt8yChr8M - hb36k6VLgpp1Fn1jy7ybLK82IBhEY7pYMp/YrB/diHOCnQsnpGOc3NIG2mwJfbpMdhlC8rQ8w8f9 - LNzfN0K3CIk71ibwWmMuKOutB9+pWHTDpwzk63/9nbZzzuRmKMReD8Wf8qNNjq5hFDC5ESGPqlVM - /koOki9W46HH0Uau40WC0U/2XA9yWuSlO2u0I3Iwt+BgaJFlLzXC1oicLlsNkJCPTc+IFnnCD4UI - ynzh4QOJ4MnK0u4iEecsj5E0uT8FSU8aCm2hDjvPrpoGoWnzK5fE7I5Lw+uoe7Pt5bGWrTN+ueHV - fWMKYyIAwsGE3INgdznQ8a0cNdnvqrLFIKUhQ4ccE5I7Ry/olsjUMc3VcOcO+lVDt3KyRKkjdvgz - VXs4kF97OCA1mldEyBxSQfru4cCfPqKVZTBzCqgN34wL+QIH2D0svjYDYlz5R8V095vHG+kzCbDu - kGWH7VjRB+tDujQ/pBM7AE8yHICj41V1q8UInelyx0OOKVv02SUxsFUnYvJiGnF2RSdXV3Qb4Ntr - 9itR7oq7Csfv/51Luj99PGnuXknYna4ab0TKnH4JffRO7pX1h93SA7tDbnku7k/lfIxKcbypoQ4f - +3mMYOdhqbC8rRKb8WJxp3L2dJWIFxmP/ua5ON2gXCqC/Yw+w58+pJSmlh6Uvf6lFWjIr3Bj3gPd - O/lZ1kvHrXubCroNMRR5RoGI4pjVL65L0N43NnWY61W/ksWcE29Tm+cwwVOYo5cJEEGdnF1dpv6A - ANGfPpLcd3rt68nosfZP1Jb8Ttmt/rBzcD0t76XTjEZDYwjItLJk5k4zo3QX/Gqh5TQzUnaCevJC - fdINUHE9r8Bqb/mksuyukN6fPn6c5pDKHb+QnX6N6m/h6p0SGKdAZUfNq2KsVzyBBcZwdZY2FBlK - sAJZL0zT1Yxk1wVeQE/Iqcj+DR/SFdKoOuhwuUF5IdJcFAX6NUEbRcGp91vlqXzB8/JnoCbvlMIE - 6nXcHGCyApg7Z+kAZvXyKA9D86gzm+1qNwqJ2Ck1S6eP7kpEJwzLti0DzPNRyF/VaY430CvFi4f/ - ybeR5ui5qaOTWaQtk1rB3xqFyDslNalEoR2OUcUcPyfFvKgaE48ymnQUau3xBkuBSnQpDadCzPAP - oe1+b3ShSjJD27Y3wZ8+kgm8Yp7VRMfuGPCfaMvSO+W0BJsKzHekPWdCkOdI06FU9rJyhLTUXgad - wsz5Dxx62r9m+4F1wEh4pUjxU9CShd2AUTnP3Wb7nwDWO6WwlAPGHbPFCiz5lqMOA1k97DL0goC0 - hBYtrQSALbScWRV6w0X8TWjBXXuSrqrEH4KWC16GThukZTjjdGz/W9DK75SzMoRc/9cRVRV0Aa3v - +ZhaahYTjOr3vATWGlc4xRV4F+7y2oki7CQt4CfFQJ9GlvOqSgej/gpa+ejO/jls/Wba+j8AAAD/ - /9RdWXLkOg480SiIjQB9inf/00ywqLIJkKKotj2v57PaS1QZncKWyHyMrXw748jfTFbFC8lP2eOQ - 7iC1YV8Ka0gF91Iqf4EDt9b1F/EHyW/iKkTQ4FhNNQz/TmqV/T/lLKuHemkzZ2X5SYQp2dTtrdxC - LN9CLNkaYwFi/2IxmF761SxX8jc/BS2JRtzLiaFpVCGX9Fdg6/8pZ1W3c743bsNUDZxDTQGIg8am - ixAgD2WFN3EmUttZgvmJ4SpOwQeFJSj9u3tSrJaEQZRI3M0T9c57cIoTvlWJTsmijbLw83vvR4X5 - I805iniUTDhlS9Vf30QXWsd8GcV/xig+fUIm73aPeVaEIJcNF3VYoi15zYzrMH7ywP/VDaadNuov - Ds7vPCYbCqNuH9h4qN+DEMpw6nT/oBz8E/lPEShxM9ZfydQ3T80fvINgr3ZS3343rX+/PCEIti2S - 8fm9txcXwlfaNdXwneeCUvXXyxJ336z9Pe6gqXUPuxbDe9jhDexkATt/4dRutv/twt9exAH9AP1V - 2IXkB+2E6TL3AR+2Sn2Yp6dqVlYOik9wx4G0mKTHHdUlgq1wR07D7fP1G3m0KWH79YN3qS/lqxDS - IYXhAnd0aDcsXkPwJ1NfknntIkDfx6AuMCihM8B/G4P2Hyy1+U75as35QxiMAm5J47zYYzCNmrUe - hNJK+vFeNIwlyx+jsIS2rlcehmQHgyfs05F7Fen6EbBX4Gsv33f3XoNvlf3Ob92xU7y4dqJq7DQ9 - FX19jhoaEBTTNQb1WRpcs8CL0ewhSgR6j0G6waAtMBhnyvAXYFBeVFX4EPhVDIY8mGg4GPUqimmZ - COflJ2PU5v9TAGYK7oqpV6VNtaIrFKSiHf649bifADxfvxHIu5uB97feIhDoUsjkAMnIcwjWBwe/ - L6BgDUH5SQgCXRiwb5SivIYgBNc+uA7lJ63130dhrUarhPtvojBotZ0iTleJsJS4OQ21aCs4hsfo - shatYhfFtnFol+PNUm0MRby2Xu7loE5VwDN856sWv/PFbRn6/qFbA2+9OreHQ9vxwihCawtVtgY5 - +7nmLx3GNoec2j3k8g3kcI25SFLQv2Pzw9WWNtGvQs4/NQsNdnw94miUY+ONBl6z3blkluVqIcBO - ka9Xd/Uj/L5BZrmXtawRfLnw8aP2odAhG1e/JwLlBxGoF25fhhJFLmYY1Pv9q9zAMMw/jf8qwivR - VRX6A4TXBscgxmY2+ERBf1BqpX39MgcmyLOHqmm+BSQ/AeSQCLuDN7NDwH6Tn2Ll1oAPTjH29Iif - Ut96t4HgJRbLt7KhlwrSpms3WFyU6NVGE3+vkV0EC0LsHIn+YBFSvrkF/l9DkT8wX+jM1vUX0Y+g - Mexu166YNph83beEGfUWiPAAiAaR2txJB1nNLIN8148CMd1vI/C1TyofmB4hkZrZXhvG2HoaU+Tn - kJh1Kj1jaNGVNgNNoIi3WMRYnC5C+JIupb8Pi/LbWIQgxaYWT0Ec8289Ir3AYl5uB18yiPYEixKG - NNh19lozCwcLTP0KozYeyBlG7feD55fu1YLLsRW/lK5En/koSWG6nFc7uE5mbikW/4yxe35lLI5f - lm3q4p4lkgRhVqfCPYkJ9QaRFi6NByN3+CNEfo+C+/JMTHIJxvzdE8gTiIGDS0sgUqQzOQauZpqN - aOyO7VmKLS8TAhJLuKrr5txKR06DotfP8dC0Seyu4ianhN4zMYb6xlHWsJOfPe7POL8jKeV+N4j3 - jHcKdtCRYkFBnwbgL7jvf60n6oQNf+W+v0EuyK9lG626+mOtU2f+Ce1d8XYqqsszu4g4DhOaXkSv - vkEi8/uJXss5F2ebl8vxJWH5/tot8t4/dffEZLvSFqrXBZmn6a9+hNoYUhJQUVviEG5VouDRciIn - natyc8ChTnBot8eSFMyf0yKUL50oucl+6LCIVzpRP4DGF9OJr1MgV+ULhW/pRZ2QDOeTy7lppkFw - 4xaRlII/KQyIzLa6L4+ItMCcka6IyXTkYVlR+mVFdkL556sTkbjnmff+oWX8GunpYmJKByjOPQ/q - J+B71ZsTkLdaiRGQ0TLP94iiMtVKFI6OpFRGSI7KN4NMAMdxTegspAS5xAGS+EfSbT8FyVQ+8ML5 - QKTKzeQfgGSQcKuuUdeQFIsapQ6RYmUqsxILUxpAKXklsuJBCQlDaaodDUqqyXmJPpa9Z543sny/ - PF3ztH3vvW2e7jBIU/kQ+EhXK3wtmKa4rG/qtcHfwSXeygbHgnUQV/FRpMJT7Q6y6Ek6wpLtVi1H - Yp8YHrEalIPxDpZyLR1M233ili9pndtcJUk5uDkdzRD59mJH0GzrsjUIwAktrzWFlohkngofyd3V - 0mSRoQtAahiEl24QLnQoye/1ipIO2uoV85W905V6Dh1aq9Wd4SngnXL+AMIchzUehC1bDYEblsJA - ExTmZfTat4R6dRHBF4MYIwhpG4S8DULeaT3QLnXzOR85Z/2WdndDYRCHYzuiGWmvwmiDYBX6e/cy - 1fczk7v+EexWRdOREwHCLgN6mZb6MVTClZP1JFPW/sqJS2e9fn7pFpDvH7qLI+nVXrGuPsGmDQfb - lqRVA+Wo05hvKlZdtpCc0+zCSUp06Trlyhwmo4nlOEA1DpCk60jWz1LyDSadtVOyK0OLNSa3qMKQ - PuSiVK3S0Izf87I4MRmkUSlisl/y89g9BkzOhW0lVjkZB1TasNGAcR7ADpUSUJm765n6VhE8KMGB - Eh3xlKV/wNYvbsHy7UO74Z53QXvTw1DS3IyUaudbu0RmTgXXuHycLMsal011e+RrwJAsB1zCsNkY - HddS2DWChWD6M4ySaA1Mb/bUw9KetZF7jmv4kfTS1zJ9y/CpATMIzlEz6bzyQqRxzegHA1Rkfgkc - Bd1JdYDmCygunEPCzOSgacE3qGdx1I+ivvYhRwon9dB0tc/7i7sRPf9wOx56F7M6O4zancko0W9H - ebFydjLnIAYJcQlyUhg/vdiGJYj4kNKspyy5hAoIeJI7R4jGmAKG3Bm4juipOeBvhF8WmR6hbtQD - vTMGPGMDAG5FNH2gXppcouJFTQvnqCejssIapMEXgwYnKOeL8RneaV9JkmW61KIYTxn4ADoYnbw3 - w18QLb27HmCMpnWTO6KjUInpsx8REPXOsySn8WiD6OnVvlEL0e7xougV/RjSAc1RZIQnn3O7nZHP - oCAJg0+benhGnzby3kI5TYsh1BxHdzSm0BaeZUBb/dPhk0JE3SgWpAzONdnjszjX0ivT0mVlC1uV - rfDV/K5mTzMrF8h8V7aQpNASmUH5Dm3pWIO36ROn8ztKFI0voURsZouh5NimAKPDpvguhbpI1reK - GLJnXwrhuZN9QzP10EQ9yoNHLZYDvxdQwKO0/3mjj1upn3SJyUF8EmPKVG9fipGuw+bDqNNDHINh - amAy5kzCyKHjyB0ACwsSLiGUjkOHYLGuBc+hQ+egiH3DuW1tg3sqyjVl/gF7Dk8CQQaUXGwNy9rP - dLDMUd7LuZjmIy9B+ZWR3GokhDKPiBwmQDIgMrsJUNv1fYWRpWtP6qcIDLrzg70hqc0M+G1qqh2L - AGVb5eb8pTvN5jPF3vqHfpWxUJISr6eyIYRpUEeJAyCMU9mz5fiMIswerW/8fd2IT7IkDW7QQyAx - HDlKCYF0DDoUC1N1vxdB7dHYbyvxmaMi7kUSHp7s1F/c0ChIkPEGjcHIlAblZZckeRA1944Q9TBh - hsfCgc5ahumPUHyy5tGjXR0i1edIoR6RfABp4LSmfvyDfJRuZIByRqRhEr3szW2a5D1+q5QPudCp - 58qhm6dJPpqB0U6POYhP3dAJKN5hqbdeLFMNzMp9iAQfsQGdPBC1hqAiZQ9PxRBVV8RSKpHgCr7J - JA/Q3nAYyyOEEmxWPnyVNOGwbBdDWjqTpmYQg/Uo6HX447y/h+2lwymMHB8Mhpq4kTd1WGAyxMet - 2hBQD1K/h87UVT8Ih4I/cK3/5LzA+0oWm5nrpxX4bo95/tItdD5Lm3s24CcyNaRN0htoRlUHctMf - tDRLmzky77KNaVOGMMbZD+aAS7MQSDf7IdWgVPUp7HkueXpUcu5QSfIMlVvDvKpWZc/yJlkDZOJM - KLoEZJSIK6NCnNPJKWPiTN5UeqpVBZxje4mlDOw7zDGcZQhnSJ3eFFCll4wrBzUGzdXo51wAvFF5 - AvEU7LA9ggGUU+ZjoynhudJDVarjC7WOcjDu1rODbhzfLDQ5LjQhB4fwPH26ahy1Z57sTpTDPQEM - Kqmend4cirtouo0ma8iXqC5fZrc36dMlb1MMOG92JXIxjq0zfbig+bxue+oyM1ERymtc+tYE8rKe - rRpG6zwpYFPxHB9Gif5mZeCKNPy4KELoLz0ki1NxzLVldSMfyF5NLnsxOes3JiD7Io55S8PxD3Jl - /WPrbq7MscWUst5lxkksso8j8nT3FdUEqn3hAMgiEIMZiT8UWLHAHpIF3NAnD3LTn6vW89DTYbJf - lEjek5zOW8Urywc/TJO5zeRSxaLyegYbJR05qsk5HSseFT08Gnla8FiGIYpxPWJqYYMJEgvX1i5+ - AZJdIwLOk7p+ElHyfFhzOZJc6Qpy6FftCnTs4pE3S1e54uEhHWplLivHjYv3DuYakrGx1Fi+Zg9J - LWtM8nQ7wkqRKyJqw/UIIMUnbI55kmOeNPARLY5hoCaREyv9JBYcVR1OXt0JS322v9TdjTRdJcxy - YBOqmUDUUoOo1lHdXSXruxLAwa8VkpccHy+6PG8EZwODuJHGFCdAxtE1A4Yqlh39B/1VHmApvfR4 - JSP5M5LG6fmUHneM9ROSb/HVI/Ou8PgOL281+bnKl3WHmnZL2BDFka3uC5+RrZ7gNoZUJChEsCkM - yBxm6zjcV3JoLtEvLoFSH8kjiV93nW//E5f9hgQO6heXZTeMtxJKX5B8pP4Ip258nYUZ6ZofO8iv - jm0liZN+nAxk/fwOp4Q8zIhRM4Ih8n60QHjIIscyVgJRll0ZC70Rdn23kH3OpL6ILT6S0CGyNLrI - fVuZzvjv4PFChrX+1dJcC7my4moNq0BWdD2JjcE8OJ5aei3dg+OpJfh5D6YylcRKKUd6SKYccYkQ - 7y1xWJVIuHum8IQV7sNZH7CR8WPmkGm9tO5Rugqo/c/ezZjnH2cnqlcsdrIDcc4rgHrRUaMlyIJp - fUmivjUZtT9Sv8G0yeDHP2lh6rr8fl5/zWIHU1/FuPvCEqfroo5WkHyTCdrvvuwgr7LbPtoZSzfy - 6TWStc0xb5Fpx24E6ZGwp70HBHdzu3/G4MFR4nqEi8NkCY0l+VIHpt4cmELw6E3c6/GoObQkNEx6 - pPirriZp2MVPezjWjV84m+33Xe358x7atVdvMGbbTZNld2gH5VmaLLldIFTHmvWQJ6jrDgwCIHfw - 3Powh0D/XE0yJRFQjjQtEJG4EsntmdmHkWJnmdG5vZXsO8vSJ8l8CHsre/C3JHLkjqalXY6UNiXZ - faaef5itTDnvQvh1pTY9gT4voE1yYbM1xyfEE1vt7R6pbrt15IEU4ucE0yOver860GILDkvLeikd - AsqxD8lh3NMsS7qIdqOC2i+pJ97BOex8MymdwgQ1psi55Gp8g50dV/urbEXzal3JR5X/mC666k1+ - hadBykg3VaxvRjjOYBH7DCkDJdbbmmKC6WqEooUVSo49peQcWAWkMMQyO6Us14lg6h+xfBSRoGXe - P2K5cUDeN9CHfdFD2FMo77DJ+1NYfqT2IrvtyD9jIGmUenHApIGsZQ6XUKZCkqoSKZT1Kivikhvj - qo+lDQ9a9X2leIoINrGSN8X5EINwtZf7YHax5O5ij44nsx46dmFJjwaxVBlnr7PLKnt2M4cN4tiT - QJbsAzkcs2cfyWnKlPoHjSxK45gyWePpAb1nq1+RJGfQol74pXfyrqJZ3menmqa5wqdYH0nqaD6N - AvTzsbzQ5hU4ROc9CJ0EvNuh3T9jPDme7AH1dySDPQSVgEueHmAKxXmPAg7rEWEJQwJOIy49UT0L - X+OyrgE8xwc9JVbaf8/Px2yW/jG7dbXXhtffSpZ1E2Lzq71DkXeZBBb4sIcEgjO50kcCvRl8QwJl - ekuLw000G0QaAenwgFUdGhJnGSg5PF+TK3wELIx7PvVLW23TVz39vrIhdpt8137tVjQfJUus2iuv - awOGXGi9sgyBzKNathsM5NEP3A8GwKYKdypBZKJyriMmM8dbWk7jE9YroGuY9ZRe4y4f2LYlnSCZ - k2Ryz1jtqZTir/WuJZl2GbH2MFPmA1qm3CHEBhH7szN2i2c/SB9u232itKxTwQnFFGVfFOP8FePS - kngY8PjWktE3IubcWI8cpc+zs+I5uCfE9rftcOCjaV3e3m/NOQSih3KeLy0PbcO6s4RdgzIIhA50 - EBdNHQQnwmoLTMrUrhpiCYvvoWyHSuUhnjZMfPzAp6kRfMUz567y0crH1JAptY/oefP0ObX7uorO - nhGymNrtCS+LXbJg630DTKUL/wsAAP//lJ1hDoAgCIVv1CBU4P4Xa61+8KDMLuDmHIq8x8fZ+q5z - kJYVYcvn8ZgB2ulOfQT3SGmY7VL+kjuNUm4tirNE8ysJGrO4R1jvuZXhSdYCz6QpyFrRmmVLLpB7 - wSU2gf2r1rEEs+SYxyAeoZeHURTHmVXEBDU8xed8tSVKoWop7thl8phW65ohxGcgSot3DeKkby6Y - rfoGEgjFbyRz6Bixxfmevtog+2pEf5vu8hl9ZYxEfg075DR0lSaBdJ7uzxZ95wcAAAD//9RdWY4j - Nww9kQtctfg3F+iDDPKX+wdylTtFSqUlbTuTTwMzQHcTz6TIt/yjDwGvcM45qgMgil/MEVPFwzIA - JOspgWQVsSFH1w/Jin3UeL2kMwJ1koaVfzaZSioxshcSgsc1A4A4CSbtG79mH2pdBXuSZXl4EFrf - c2wKCDhwck9GzeJBmNEnEVC1yRGwIBSxNpNJDNUDxWrVb2xlIcjGSwv5tM9BMIrY629T2nD265Qv - AkEKV5rogu4BU3SPBy49PVI83SNbVaz4fQ65aramVEKPSlLyyxzI2bVFrF6NZy3B05L3xI1UoyQQ - iY4bKWKUBGdI6g+EBCKzxcxrDEnZV+XAGgP1w1p9JZErxofFpQ5x2fZjhuwvkhVxJ4cY/ferP3ww - k6PU2VqKYS3LpiRmA4ByvimXf+A4knrmSNJc/rXMXZaZFyMjUSbZHg9Ienok+UEVs1X3eHEP20VO - UxMrIuwejjlGTz+HkN0XLHKligWzyUHnrB3Z5J9RZh9Eb60jyFhH8NmpkHhNF5t/Rqfr+kfwJDPy - q67okxl/qfGJG3W8XWgfGxtPjzxy08r7gdiInP3gQ7kTaI5nUMYjo+fk73g2DsV4NtI6Pn3LCNJc - pwxzphFw7c+DeUttT7TyC/SR6HV2mP3Qqlae3jXUxr0/1fQA9+JX9QQdqLZw3wagJwsXE4INXtMc - jG7guKCdB1ajG0Azr5IxWIprKJzVvvKqOv1IWkqEmPoxyr6SmCpzJUWrstOuyq7lbd9Nd7n1crBH - sDOKOgX9QEJIs2Z//vXr10rXy5Oa1j8AqEpTwsolO1jLJD+9sKNutLpeLAErDm2AXuMB7A9Ru5bc - OpqZSRSczY6w8YJAodBN/UQzjOL5fYhr3vX4QxI5l+zkq3ciHgtTLrpv7ZJxfEUJPbtKzgUl2nAV - cZgH1MYXoa48cVyn4zPsCM8xEsTn78vDNnr6AkWz9PFwKYFE3PZcm6bKPM/kSTwQ6Z+G6J8TzmLQ - 50QeF/xvhmNzDo1+Ck3ijxdAlV+2SscD9Dvu5WSVJEagg+ANz9F2PxPugibcZc35AefCBtNiTtaD - H793Pw6Q+uwbX0mSKvGTrDfL79n8yg/2v2l+j7/i5BaG6kyz6laoXcNdRauII2wSUYW910qu/HPK - TzNyJoOkFm3O/tHY7SaSQbRn/qzfbrxLvoht2SjswpKW5e5ubA6QssDAPMdXlEIlhtNzRYurl8ec - dbbStrOV25Gyvgd5sdEAOVpbMlJjS3b2QArWYGXYBOOGP9uolR4IsX0qpLDQBOuUM19G4G5uRBQn - h2tG8JAmz/QPyXvNAVahSlTnRlhkOlvzbKG5s256KWfGbAXOYylMG3nC7NEJ5WLXXQy3wsUiBg6T - shzLMy90bxe+nMVWqeOxS57uNo7bjR/og1yNo+/ogzxehsqxDNUlHSMXKnr5etRIBBL6+NNBeFKF - P3+fYOeoQs20T0gcK+mbx9/uGNY3L1c7h6JdhqIkF56EAwC+JDxJZuLMlO+U/4XH9XRuy1ddTw5d - L12ubVVoGDHYyzJ7FQKH/ZCti8rz48H7DvZg3zO1DrM3e7pSu93Sxhm4bTofRpd7quPLvNAtp36s - YHBmY02nVURN4s1wsEJg9C9BrGMFxSLQ+qfseRLnVEHpLmbALGaMU4MBYOdyD1MbGYIroRtK4e/F - n0WXfdWlFKzAZ1KTyKswbPuTpO1CegnGOxAorZWMnjkXsvf2J1l//3Rwu/cPE/B7/rch+vjSXyNu - Mcb2m0JwjD4dpOwigPRjdp2lWFs5w7kSmlZb0T1ctRuRxPYGAcmllokN2Y3Ux97rAj0n7rr8WMNc - WN9cR17Phnl+1dWU0AdgrGyMLAJVmif6T+xiJL5iBu2FBg43Z3xszniJqiax3L5yTklVM3Q53MTD - jGsZgC86z3huvf5i8grExuwp0SfNpU7WfDO402YGEsXBXuajEdc9wf7tRfhz9VTsTp9Ktanf4vRJ - 78CeDnufopk+nx8PGQVOT5/f/3Fi+tSL0oWNg7Yf7zruf3UUGQ6mT+pGkTFD25DIe90+efhnCHIV - 9uilMHtQygmCLtI62AaIGZcg+OZIa3hs1NYheJwicghSZN99CLr43H4L1FjdIlwL3MVF1RDaS5l/ - FQxb/Bfjbvv85Z4wfDpi7jAM01aaGibDrIWurDRvYYvKuQ3DlZZYJY8tA1JcUhW1hTAq/QjkcoQe - Zlm7Iz2oS5h3cAzygesSjtOQ+c7hDot2mkswdGUM/adgGHRCbTswfmIQDS9ZhvbAd3UQPCoWb0gP - Cppe7a+v1IS07Qwm4ggB+ntQGfZBwD7sgp1EY+vtHoJ6Q+IadlQNotUKhtwgapegIHYFgzLqgsZY - GsyFEKeXoDgTeoxyp/AvgovWwOdsh2pv6TP24voU+hHgvfcFKLlvVxtvjI9kY1pUnJW/9uMuP4qN - L7DTYbeDQbeLLmcztMnYPjaeqlTjA1UGeFWqsT0+uLs8uG5HvAQ7uoLdC3rec/0Cb8eeq2jsN75I - leDFzp+hnWrzCQDGt3e+QUZYvJGW70zAxYyw8kefh2DV+Wy5XBI1dt1oObVdLdiL6LEBvyH6MHXh - xw5/kF/T9l6DP7pLvgoWH+DvIGKX3HUSpAEAnZA+VGQ0Y2YaRy/A/6r/xfiJK/yL2GhxfOerskvW - cMYuIjy3VJ2oXh5fj5dYjZcV+wyjxRk5nBmYQQ6/waNOyvOc4Y64+KhbwparYcL9gHDR3BJ7wcrv - gaz07sYWeGa2lDvw1UBy5SCL2yP6qRipIWFf8RB+1tjsGkWw+aBj/55r4E3HeNMu3sjeFSB9HnB/ - AwAA///cnd1yIykMhZ9oKIQEEr7dF9iLff9n2aKxM41oROO0x/FcppLMuEJ9SOjnnKMqSqmHxfUq - yhpw7RlKMk3bZTblyVXd5C3Q8YuhkzizN/BbCZpo0Q5I2G1jfSGICIjpfxj4e1EOmtVawsEEROAp - dTinjmzq2myydvd+Spjz8ZXUqUPM0K+6788xzx5x7wp0+dWBjqtirvWC8yXzD2FkYTASfFl5wfE3 - A107dRQPW+jBpzRlrnvBdfMrgDZzoJj7AciFUjohWByDWEauPcOcHFnEcbeeGX4EcJ/0ZstpIZkU - fyVjfLg8WwLslLE5YqpGCUphILeIJXxZiXneFPfbYDSF0XDfRXCJNuux51KK/Ke5mFA9At+yn+7D - BxFWPi0Euywi8cqEUTgcK9BPn2k+z8kCmyz1TIvywszjxMDJFrgCL+s+LLKltFe8PXACXrp2289I - FsG/tuG2/fumKrn88vwfwC3gyEd5yFmZPjExy1fGr+jxUPCY8pQymVNmQ5YUZPhTUsSQbzG/krRO - F9BurcGRMmAbxpjf1VsrH+6D4hi0dUebtCsDWqzOml3ZEUlej5oqgJC8HzWftgsSFmcSllFTQQ0m - QQ2qudOYNDxUo/4zpP2RN1n5b6bGf1CqVxFW7VUhuTTOIvmfMneo7sa7WdQowQ/iLh35sY6qfrUz - YlDDWo3uexCHSeBT7sXyZ97kigTIUGzgf/sjWrwXG3l3KPO060+wr0tuzJRvtRbHJ/VVrfqEc1q4 - /jaaks40pJNlaHCC9+GUklrC8XF/94mj6jX9GWmG1M39WvXNJk6L4wRs4uTx0EYa5jiFCU7JwCm2 - OGF6ZSUKprEJ8AarwrPLZOnEAnvzmYYsfBtZDGq51O8tTIsud4KPCVRForiMJt57mDZZawl8Mn1I - cnw2UOGErNbXssvevapGUfpLg1XnxC4HGkKqAsVvg0pHq7wvQImjHD6nuCsu5vmjeGOKr0v+vJMM - 6TmmaMJUnjCleifxUzKLZaZ0URe7IdK2YUJXF3WLlrZWAxpjJUE1kiHsuSrbuxQ+hit08ffe0oSr - eCVXQZ7kKtlc7Ronh1xBUG1/+ku5Uo3IzN38aNvmF5eHgQocRIxPcZVOc6VEzuuk4qPZLy7GhJ/S - 7Re3JXaziZoNK7kyXHHK/BxWPMGKJlipB1b+a7FSwzP9o6rFCg2sno1VZFXbFVY1yRsMZeTidi2f - klmUv2Xx7JwN0VSsroxWDIRPYXVihIYVWMGcoQHgvxQs1XIU6e3I9+PXubPKafMLH8JTbIUVtjiN - 53hFXAqfkgiKuOoGwClkzGSilS+NWCE+R9Z8ADTYZKmh6zqu/yFkndySrWCpvQb7fSVkg5VB5Bmw - RM6DBXUNZb8GthvWFXQpfsxzWNAYl6k4rUWqYOKUGHBZSPVr2GXCk84BcXxImwscTfRw//BObJGY - G7gRp0tQA2WTwqLtNBtf6axdUi6oY4i5i6IxY1V2x12yUT589p9yJ7I4zicEWApx4P2VxEV/VMkQ - SNMYFmC6OBR0mZDGJ/blffvqA8NT+3pppIH7bf2/ypraPS9RwYAN1wvxMION0wJsEBRsuxdz+XQh - 5VduD5WS21yEk8r2CYUlAQg8X+wAvxbr0CQv5kP9W22LcgSeTMHDqMCLw9Pb5qP+BHc0VxvbNPyX - N/ZWuFO2C0kcGvWP1AW579c/kljqHRo7HeP2so1JHKdPaYIlObdDtIEGM6V38KbQu0aND4NcnJLW - uZz0Sis7c/ZfR1K3Smez+tm9GzUsIxxRRgJjY9TOSbxX0pS0GNqkUd2cvTafjMkSiFOsBR3iZDfF - ltBJFWl8zdxNQjfR1SwbD3HTEVi6H8sHt59wAGthLdqsHS48AE1ZI5mK+UVdE8njAysUcHzlnBSf - imf5RqvrsCddTDbKlJFClN7da398cVJ4JD40hVKPAepAI0uOWHOmRjtgP4ATtzDR3JH31PihZJtr - y+KhZHv/8q5ke//qjKTY4xenjojh5o9TyuQip213rReyFZe3tOTMgy5cN6BY9iAOVy5BgilE/BWq - bFHppIooEMZHWSa+Zp5CPDb14tPrfXxGkBjh5gd60sAu0chn1qdHdslC0agtbzQqSWk0d9PjpFhJ - McXVtKXACNnS51c0ouqwwd4uOKKTmrC+yFwhuIzzsBduZZVl6RqNpdsWzw3cQ1gLgGICSHzYu4FM - UwAlTo0VWDXcIKnTaysqLJ2zAr2FQPA3TzcYONNgdoBbvP+G2+VGoPJVIDENZilr3bFWyorwSH1A - 7W5qk+Asmj8Ipj4j1EfB7hR5xyCJy5SljYhxZxIcq1PpIyDufUsp15884y90/9FpPPQyiofsEtb3 - UO91ku/P9InT5YZj73WSjVv07jM+PsN4hKP2ek4djdUk2j7GrMJh0OeYW69nSDaNMLKfPa0tDWdI - BBiTCA+L6iOnZ38nkYg92oUW5a5AqJsJzSESOXWIjVgxeZ5zmDsOo65QQ5fQ0F5QDgjaYBj2TaFi - sONbEMn5xuirPuIeRl9xT2L91lxsOrpzCsVDj7ZcWglweIJEVZ/sVFDs/U7YrMGAXe4kCEc1GOYp - h5FmpwigijAhq2NsxiYBodO7TS2Hjdcl7L0uIZxGMZxp60V/o4FRBkYHGAd5KdxLMZwBBe2gqCwW - MHcrn/ujxL7o2SqqshxqzalHImjXmsy5Mw3ublRueYxtelM31B7Wl9l5bivX5GJjfZndzjORvPst - HH7/1pzH+y+d4fG4mFbEBaq5au95mR1sW2xARD4Hk8fO7gTA5tF+JyKzHKaptvz0tk7dLcwHXRat - /tA7IrElEn3TbQeG7qXILZGtM3veE5mWiqOQzljQlvroOERmoIEH9HaejwhJYmOpHGjRtIAmc78N - KR4VbiCYFpgFSj2JhKG7XRskczs3gbJHkhykdtk3lHfYDknce2FinS+9I7l9638AAAD//9RdW24j - OQw8UQTxpUdOkfufZiGrnYikpJbHm8XOp+EEQUxXkywWi+dXoWnvKPh9iYg/JS0yZcI+CvPIbHT0 - Ho42PaKBI+pzDGgbjZRM/Ga+B5hNkXO5WSg4lnQbQsvbiAliVXBEswPSfqUqOKK6h4njLVp87RoY - 4gkcI3/y6iBDS9BlcZO237ls4art3u4WjmbtHntvuHrAomNSTZbsRIrrO8Be17CATO7pyq7eEQVJ - QS2rEBii2f6NpKeEHGgIJvYR6BORsc9hejSv926z5Pdv3cUR8ycvTgunkKtMKYD2UT+KHcbcfmaL - S2eegHWbJm0QL2em7yhOi1YwQ/rkyRxbtHK2QaxmLzXbKKohPVbdeny0AkBhkhSVQyOV8/gMDmYa - dMQAQF22j81uWEpZgLFeYMylwI0WzdxmQN76KiDv9TE4PxBNtmR1LWQngMY4JkvJoTp1A8KaA0hl - GAAjB+5RG7icwgMYr3/kCiPKULIin5GqKJ0RuW092mW3eRybjQU+FDcejBz2idFdSTEUOJBOjGya - DdR1KhZJ8/tgJnYpOwyKkzilaqPHeqYIRimTiqJwGMQSqlAUClXnKOOlIjoEIdPRWIqX9zEbt1Vg - cSKFL0UoJJEbCseam1S3LKSsnarbFdKBlGnbaAuc7CrUzmkPUQQ3GcasEyLpINaRFYcaEqPhU8tY - o0LP/E8MxvDzKL3eOuj/MYZ01P/z6rIDUoD+9fObr/VGlg3O9EQse5N0Hky2PiXW0Zuq1ZCjweHz - DNmIw2JxCO4+JkWtWAPRYozKarKYwGVD0lTq409+A/Hx6glEKacUTjrKh1I+ZaHMptRsXRfF6Y1V - F1gLFHG0DY34E0fboKplkHKdWr6Wm4vfpW8CjfETmwUpJdUlFoVAoDi4UbZ/REwShLG/AFFZEFL4 - OTcMrEf8t3Zr0r/6b1Q1KKHAPBu2D70t9dUMVGreM6o2nvtw+tUj0DUNldlgA6Xa+9HZQxLY+hFB - shsTVDUk0YR0dPEFa0H/0QSuY0gDDn3/9eoJyHr4TIX9/dPhevuyWcyBIk/JOHgKSXMCKbAf9Dsr - FbeefimenrYPzmC0OdGO0cTpiIPB0XF23JizmO1ndP0/Zz1vTDqUeQRn2z7UtgIYaDwHB5cG7BnL - 67TTBc/rzQOT31DoMJoLF8T2UVCZBzNe+psTXNpghkRbYLpWQ18cQ5yehWCyFSuwWFwiVrLBtI9a - Mamy43SIpgpnyJzsJlMdOw7F5eAITAiSjkIZcn43T3JIJdEcl7lLcIqkyjeiU+PykV3XSOqin7sN - YaueWHiqZowWllAtLi9J0RBKcnoqSQqXpuhBSONGU4BY1TMWmsL1J5JJMQBlGD5e75wsWgQ8CiXX - lfE25VBgft09N2KxRTJyIpQbUBpy3CZLySM57kofraTC3rY7JVVEywDk4jBJrvwhcJisWpcjVQcy - D7mSQrSQhDAWr5oivzZfOgUQ0mHtSv2bf4JJWs05MCDitOyhEHM33mlyfqYtJo1FCAdLlI9MDjtB - TlRKAJg6hGBiy6sy2vkjF8PlkCNWpbA2dVFKVSQc5sjcZj1J4xHVqKM3Gs/p4zjpCK9UsHwygZRP - Savbt017UOq0CeFuo9nWeCll3utyTCBlG0hxgaRqAjlLk0LFQjJWx64KsY2l4+US6OVDvUlzJdqn - zvE51xqYTC3tkEBDmkyD1JHPhB1yGMXlFYqPNlDq2mmvdtwdD+kgNHxql2uMNc74PMWAxqwRszqb - BKXOEmNhMUUOAVu1OFlhFaFtPbhW5QStzZUwjhUOBmC7BZUUndMZ1u8KJw0FTj4SAeARodobj3nw - OLWB9rRUxYB9aEFEueyV4iaKxVuijpVqcSs1plKdmyEwZ/MwBT91zGgbSBI74RDWIoCiRQAwIrAE - RNIdJIWfo4aPnxi7jjpqAHInkY/qmxMygD85r9Y2Gruau/DPuyUckgENkM6GpBqCLmfFz1VLriYT - SpklRqnFVzh2ynHlsW3T0UPxjUjSSkcQ7Z5QCxm3M9Tz40qKDBhp8lxfmh8/eMAjZOIqOcY0Z+iO - GYEvH8/WFZuCVZHl6LtI0PGc+0zb80zicmMppu3A6h6vxrYp6WCqFQBouYC0OocDK0IA+obOM57X - NZXrGQuBT+md60dvxVZCqyORbQBZaBFOfAWeborlNlCTHmNZETImHc85+VrQqljdACRWe3EL2A0h - UdmHQ9K6ue5f8zPFMvOPh7J3hCejmmKN8g7VSd7Dk/k9eBIEYlrNsrr7Zy0IUPb+nzagkzslShgA - ebsZgJjTtA8xXLoTz9Vi9xy7vlWfK1mfVkDl1+oOlnxAGMeRzSZ/AGYZpsnXixNYlpPSNX6SLCeS - NSCmOqd3Ur/fGiUjRt5KdNBZnxiFTtEzLdybd0GV6TOWixVdQbGY7IzqOFouTqXD+r5k0WuPCbTm - Ctx2MWnJFSvJldIkl39dciUPv6G6UgdUKPU9xdWXDyfCHpNNK7VVeQhMJVey1UAeXA/ig+tB6M50 - fXCgYU0HL971Z6xcf56rz1dng+V6JO9ohEBcbjzGBR4Rw76VROeCAvjSYgCxYnRwsbBKZEVWDoSY - rV+UwGZF52l8Muoe9WIAVLcYoBMj0NliwIEM+Uj3KHklXv3g1f44XH4oCTNn2APQsAJpe+0V8w3+ - iswj+ebxriP4/e5JSqyhlHtTjce+f3zpQi+mUHq4bjbjGvS8L0re9P+TVVVDiyNPh472iUlWpBoh - 853mOKrZxuWvNxQyyWyqprKHXqyr5bj4WvqL5WihYykb/5BQCpK8ua365eNJ4Fxj1ZYc+QT468fM - T8BH+KvgI75V+v8Z9qhNLuWw9vQuKbuJ/+TcDap7lcjTfTgC2a2JN+jZadRki0p00jM3H6Bq6Inw - DfSUliqOWqr42vJNPNPElU+AOfZySLVvZc6wd/WDNUeoOZU99syAMXkJxwi9/D+FXv6LrsNS2noR - NZR5LxTeZzhbkFxrN0+UpakZg9De0CZG56R9szrsnRhEe+wxwQ3IlHI4jqVllNdiJScJDnm1QfxR - H5wTvGlP9OXDyeDsGPQaeJ/OLB1RqPzBPaN/B2j8N51hZnihqPTuJ7vR4MRsD3Q/l6dTJSr57g6z - W0X0hguka0rQa2yAGnN9efrXDMDk3gAstiULqr/jsvflg8fJjh2UuOJ/msT4b0pifJ/EvIGJYUjw - xinWbE7Mr7hBxJtSMYolKR09QrpSNP4l5o4vGo2Ez2GKHok0RoqO3YTohG1G/KRFjQjcqIj8plvs - lw+kuKHeONMT7Mlt7eeVpjva/wXC5G/KXoJ3chaklxy7nDWJiFnVTSeGFuLw5T0rnWEXKXxFazGa - NMD4hn+MajAXx7l5PDYmiUfGJNRy12LI+r4X85cPoqQ2Rv4HAAD//9SdTZLjNgyF75L9qAgCBECd - Ym6S++9SlOyOCFKE1Jba7eUsUqUJ5jN+CLy3m7ySNLe6vyF3pU/KXeVjD8lwFcYawZFg9v0EhzJc - EWJNWff+r3EaUGwrQ1+Ysn7/blSYxSQyoGs4OxC3eHANF+6FzUSTYcr7rPEvHTTyJ6Wx8rHLdNFz - pVpgu9JGB7F7thC8Bqw5dm/ONLcuOl8gbtXO0ZjofJCX9lGrnL9tuHicuvh3pi7+pNTFftuVrjTG - wdRd2FIrWIcNRTG7QuYRaoqsO4fxdmusY9+brCLvXeQhToh721qnADOxFGdwKHHSUevFayH+Dsrk - k3KWwLqN5drhLLxdaVKK0j3RAi9nxeTSBrmmzZhQkRonRbpzaOgNN+Ly+Ix7YuXXpC8TOeF1a3DP - feqXjg3lk/JX+X98yP+mkMVXepQih674UQBvfNi8NLf2N6Bjtmq/eojeksePmiqGOcSZ9s4fL8tl - JpoKwy0rjY1WQJ3LhMK7xoj6SblMwa0Y+TXhf7SKqt31txDcxqt1bGgV482Aw7qXijHa/okoRT+X - QRE4SvjPTdbbf9sgKo9LRZXm9MbUikLpXXx9UkbTQUcGsJg3myq+iJfoKDZFschKMpDvdKmjRDaK - jHFEFyP/HirVoqgTqZGbrs6gYqUb9vzj49wi1sph+2Iaz//MPVHUPeEwnCIy9PWKok5SxoaPMmQ3 - en/b6J2sQqiuQjJrL2uRqu80G3DIVgjW7RJMGOsfx/AjXunD+kP/xPy4maF8y4/jk0Bz9hRjs+Zm - CHzYbe3VkzAB5+5O1XC/4wyF5lDm61Ht38f3pYi3+6cD5McV43jBg+aC4ilrovJXoP/NwRwGr+yx - NXc13xV9J0z7BNMgKGMEa3P1wPQLCIRFHlzOG86eItCqaILYJQLaXpKWf3jJpkDe8hcYsCswdRF/ - 6+rENnbbk0PQKfHrrrPDM2B/3/ub5JWP3zzJDMl7tQevwEPsn4tS9slLDnnZIa9+kgk/8iTjNd9U - NgwCzunW5GcFF8vV/RC975jQknh+fFmPopetBS1sC1DAiVcd/jvR80IHy3JInAOcQw+PF56crkNP - pHvjBAq+0XqQMXobZ4w/X137Nnr6hqb8AHowp7inoHAReo1ApjQvpDV7oeOncAV7fJi9bNyEI2xV - MXXiZEVNrmUviGuiUMwwaY66d2i/B1/QicqTGoYEknQIn1z5iirKfc3hwK4bpjVva5dXwbia2KFY - NNsIzTr4O99RwxzCnvbeBbPnJ4cmBYbGhh0qCnGdTZ9ZVUAfQhyF0hjSrnej2yhu27+AE2fJt73Q - AfiL/YGX1l1n0nMUYrHmO9b3yUv7QGb2ItgVRgBGv/wE9DE0Rib2EajWhgqQ5RfMpmkxwtQ9l68X - 31kf9BnFxNy60W7py40bbTJdhHQbP/b4awxpR/yBsWoLuKlBs05CqLemwTiRz9/iy36u+yvfXpJg - jKoKSkP+1Ft+fSK2d8NhEezbX2b2p58gLoExGgLNHLveJ4op3bnhQH7vvqrLnCXv0Lrrk7z69zM3 - 9rMVeN/IehRd6ugEdTEY6rZ+F7kkjpBvpO75y+RQR6Vnj6dqz/LtRXVNBAB0TxDoSV1yDqca6mhI - HSv1fjFzUpe6dvehpc7OPM3cLNV5D+NPTF4O0VdUn/mGo8QHfEYLUXV0lKja+Aa5FafLnsjoQd2y - J4Y93gROdVLM9xWc+SHi4oxcsFjnxVP1Zvny6O6fP8hr5EjtEXBDXhqT19fi4iA+ef4yBBq/Z/vj - yeb2Hu4cmh27BKbzBcvRW/sndWYPAoeCFvqlVtLFLq0Skk3WCx55nE+Qh2R6va1OvuKkOcht5Gma - 5MCwc6k0z9UqisX09mCl2SiNupUmNwr5UqEH0j20SqbZww57qD575r0BzHuD1it/KTY3w7GeulS6 - hmGrNRro2ty3isvgjHFn5U8nYkiviMusLIJRNhRthJ22YkGSh2KjSXOviuHsDl6a++9qgdPASGBg - 3MoEiU6Z6M75p4i39xKkPNgiz/FU7VI+XcjbvF1phEZhNLBDo7FZz5jq2HUFaLA1rGhhpOyu35Ip - QYHMAX/d+TFbFmuN0VBZyAbZ06B5LRuujs68awZEUCyp9jDkZxcoSmlQ1SwYmj13HO+501jfMHQN - uv1GkIYnCpZCNTpCcRPC8oXhPk0TAffhnZbmXU+udJbvHmPnias9fSa/sMuNCE0l/JQSdf0qExvu - Ugc8RvemJLEBr65Awcw81UuCWgVO71U3pDnBHPcsnHHS9ZX52+qGD/qMuiHrcO+d8/L0/B8AAAD/ - /7RdbY4dqw5cURD+AjyrePtfzROH7gy2aZqjq/wcZUbJHKfALspVT+BjXZpnUHtDH9bd8rhDn4g4 - F6/p8aFo197Uf3gHFr3SnjaqpQ9xTflpb+FpfVKfPTUuDAZz0Zc+FELcaDYOh4K8DE/D3N4yDHJu - 8LryX9zdh+7uK+bugxH7aDBoE2Ph0V9Uj68+PYovwCfl7n7pZJyS/TTimkn22HMLyhzCRmfoRd3L - OwdTXrvPaNvQnpFXvEfl9OpQuJM0+C+B957WPCRn7Ue+0r2UT0zY/fJe2x6Bb87a3LaOG5LZHpm4 - BCBUfOs9Icurs011g6A3+M2GhAHKL3cgmEEQ5kEQvhsEz9KauPzkBwPEHusrT4MgXExoVaBG+yvQ - +R9K+6wpPxlI6dc2AYx5v8SnI9n8yQPMg9BJr5EnFErPXFKwybAm8U5aosnF8v5yVPH+6j0p7f6x - V/2EPm3J9ka+5nVUmo7Iu/2G8wXI4EYK8nInti0rymVpKsDAPrM5XolA8mbmpk4PYy9EtI6kULDu - p0Ewtr8wN6UgZ4+BUA+jC1mfkwoq4QMS71kQsijtgei8pjhGp81I5PFf8LEZhbYUFSK+oZF8Nwph - psfZMqwnFtnIgjyxMtLzG/1OkoWkWEiKgaScQlKOIPl5pHigSluiOv5HRkj2T/uTgNeAd0PF/2Ih - 88iB20ByL41hWgaKEil7RJYIyeCCD35Q9BJRsZekCVHvyYbRJbjYFBijUTPBad9J1E4zRZ9IGuQk - 2B46VcwHwUwXMp3HIusWmazeIdgAk4bWJXDf+cXwWYdprSllaHh49pGABrZjHUnkt6OpJipWpkbj - 97oq2b9hwuX95RUpqoe4/Ptjr4WUp6uypAbt87tGp1Od95Ty9ukegucpvlyVPmG0ZnvE5iXpTWHu - uIPYZmAi0ls1wb/eu8g0UiMeRcHAnVaDTDLzI80DJH7n342nyc0ijxROruUpoOl6xxAkKLh/xnAO - jcw+cMtAk1PdQbMud2AKvli8aA3FxHBn1mqgWW3nM8K6bmhy6uPzPxwmO399OEziV/svzOmzDwjA - zFlxD0h/UdILn0NBys3Nmq8vCyginlKtHBGpntDBcFWyGyib5eLYpFbQyFQ3gLQZo2TMiGk21Kfv - vEQIDqObH87YDkiW0taApEtRuk0ZvQDpXBxJo9fBHFqhMWUUTQo3sS6tb1npBZWFik8A8vMIZHNh - qs2MzaITQUeaZHzDv0IllfEG+wJL6Buh34mj+sdcX11VL1gGV1V66V+9q6qNkSEpstSVNgfKEjFJ - Vd9CnKBapQ241/6SDSg5+/YVLMfDZqTkOUmGvsv9Pc0VfQqS2T5zkF53ZMNa9h4X4KwgicOik4Ek - e6M6e0nicrBE0Bc4ig9V/2u9NJ2vxcDRUj11pnqIU2Xhf4nGbs5zIlVk+FKi3z/h42ky2K660hW2 - 2RfiTS6QrfHq0maQa3PEQMPIuYq3ucjs+5wRuj7BkW3TWq3wTQarbvBom1YxnKvMFA9/F/Qr8F8H - SknCldeAlHFHNinKre0B6WxLUKPnzAzIKGW05vB5vT9agxGoj6dUClekhClEZydQ9ML9EVB7Rxxq - UrH8ACX+rSbZDCG6UtavgNFLgfQetnZIDTD95LUGADCV9pmmIjbziw4gWM4Uv7CtFpBF94DMy5xm - wOoZgUIRkSVI+EU9Ii3lCmo1VFqNGq6MyWQGJNpHyGYA2eZHkEJfAbLoYdMqT0KA0vmoB+q1XDck - dlUV77lX52GCspsiURJvW1ZsBZY2az612YdW6tgsNJnNEMpZDR5tqBcgTnRd/z3EplZ2xeqU+MuJ - p9DK/nlOib/XH75Hj94/9iZs5PKD62YHauIxPsX4UUlU97qAYEGjLpKNAQ0mwy4N+ALimjwn70iJ - V01nUI4z0VTRdzrY7EYiWj4ABub+olIFfNtKJkV9cMy3r9f46kbld12r/mdq57OOsMaklqEPIKkF - 63ZFA5y7CeZoYG4UV5jjKGmZdCy6NPjKMX/bd6+tFHfQAnhkEtjutZlnEZBZOd7/sS7iYTh/3AVV - c1PiJXsbRm16LHXsf83hFCJrxfEVKRNRmVP7MK8tKxbZS1a9wdAgcqZK0pzTAWPQMnUEV8cVOrv6 - 1/WwBcJMCRQr6ZvYkcr2i07ypZx1x5CosW9ixaKzwozO+su8QsJ6uHWaqJ2+VD71r50FWGYmwj1P - vlXzA0y3sF8S73AJJck+PExoRRBIUzeSqHeyb6N3mmvJvv0ZAeq/qDQGDKA6nbP9NyHrZD/SHu86 - yjgd70LW9MvYgaRDTEJJ5aSQJD+0LuTHIwqWc0j/sOsxLF3X86IkxyBpdS+VKEtbUmg3IzTFdUsL - wNTiFhpB/LXJbo3YaiFx9nDrv03gX9v8wIVj3riP2It7u2DZvrk18UhW97k1MzzemllkCU5M+ePL - rdCU3tY6vKsNpnBpGjsNDFZu/tLkpUSrP7e5mqo6eFasjlIHj04uYqQEzbxYIs/kXf+35tosPGGC - J6QZnTSjE47ROT6wkxvzYUcHP0QyrX0VU3mRuLr6UZC4mk6WghetiK8eLkXm6p9EEIE8JLE28gX0 - eTvuSaQWsBWc5xFKAGwWHf+A5Xso1elN5PrqGkcGSXKKSUpndA89ORX9wZq4yfKYpa1U+YNDt90f - s9jz3PNEZblDIa3r2AvpYCiX280vDguKw+HfKfGX2gM2KnP7sjXGk3vXv8uSTesKqc66rJZ44ghg - Zl/bEIS87xwfueOPOWS9ctzZc27LBy39aJZUK1DTuqdfXR05mDTQLHiN78tQXBmXkgFA7zGMrYTB - kho5OCJ5OAqZwRJcFScwcio+8Ru6B9ekzEo8aXnk8l8Y+g+rGHiWfxzOH+2ZdKWERZbHKXcj9FOh - gLNLKUHDczcpl+A86M3RkTy4tEvhwugQWdAJs3KSsRowV5I98SomyAzGAfBbyzYrBvpv09RCkkwl - p1etcs34Q2CXuJ0U8vq8Tu7FB9IV2/XUFhXoQ+/aF42pVN6/ToY6hhVy07SW8JjlZklcIpJZqyfr - bi+qCZGSvXYZi+9ZRUzPejF0UyGlzoWspZIDZZtvyDpgeNVyHkHKoH1OL8jxyRy9hzwoXxFSAWrr - ktazkn6g6d4nQ+4js+l5PHuHbBh1HG9O0f0bvaEmQfFEDzVkj0y/1zMWIH/t4Bwy67yRRUmB3EKW - trnhmcvJUzlpnL7vzyGnlJ3+8EMmGnZXhLI+Yq+gsyNo+p5ni8wok2Tb8gz9W3zWInYHLNYAzDIM - NQwwNRywRjkAZJWvWOaoSO2e0nacxETzbanjxvjteqZ5so1T6hSa+q4DedFM/uke3bXpuv3Zt67O - aAWDLKsZUoD28mXMy6RPhubZOsnsRa9XDeYygu9cOVfjzW/N4ZDaTLsmcg/Oudttz5zAvOc6KNmb - ElD8ihI4lGTp05okUTc8wDUj8PYiooEG0C0YIU6S/lEr89LSncn7pBbxaKzVu3ageG0di21c0apd - cTYJ7+d4c04BVrwMltzpttlz0sl3QQv0kEazQGN5RmPm8sAJ6OhiMxfCsoemo16HRNk8Pqtl0r1i - ElxNlyvoVb35LVb0UyVUf8RC9b0PGX1d5mpaH2ilzjz6UBZN0KSZ3THJNUmmch4/h/S/4pSnW0+V - 1JPR1lMldG3NZ/cVFYR4j8/AoQdJlvGerqGNtSI7aLT0T80kbkukVI/Opl6ZhUH5StW+Vza1z85k - cohqwmqXYf+QDSIaccN3NdssRodiVwte4VlP5ej6Q/S4TXn1ebGsNY2yguZKvH2zxODNUoJ0spiH - 6Ppyd67PXKrkZxPxjSyM82aGJ4ZXaJuNOBTQU1HZrP4ULc5WFcQoQ4oYZQjNypCzZbz6H6nXzjzl - B4FWHY0sUmNoe4dxX0eEwBa0mYZFDLa475bU5WXDWatPZQCu4Xy1uVLOH4nmzL2u58u2gn9oqJfu - 5geSFvvo/Ct/7V/R4avz9a37SnajJH7Sg/wBTkSyFoRA2gteMXi1kNtpFsP19G1Jt+mDDofzJPJ/ - AAAA//+8nVmOAjEMRE80KN6y9Cm4/2lGoUG07WytBj7nh4+xihCn6tU76JNsow1ksMekR7U4Mwgc - 30DCvg8/GLRIGbQou24wnb8jBWphFSrgVUwErb5nofQeQcI14/LdzxGjzaYrW1YaIsowhaZr4Gpp - IiyUJuJHShNHipP9y3cCCoSNu0aPzsAwPZfle8JurDvHZ0FLh0DWCTu2CTu7AmjOjF8b1bfwktMd - FZtGF3HxD1VZCgbSGXWeB9Fh4XV0AJUzEo/RAYRV5SEtKQ83gp63FUr7Ibl++AtNVv89w5+odpj0 - 3Cj3avkIx4QWgqbxHH+hP/pIKXB/A0fTjOteiyJ0Mk5HMCswRU9kYTslrTn3YkzZLMSb5lUq2YyK - xWkO3WFHIyjL40+dUeaoGomAy6SPGxQQENIFJsvaLSJs0Nm50Q1Rckd6u0m1JiMLhkJj6ZmFeBxy - cim5PkxtAiCApsHqF8pL31Vemk6tKi/ULMC5KhSqd9iVxFzVIM64ZJiHXDIs5pWYWsdejNkEOtg9 - 9Ycd+6FSrMlhyVApUAwlQEhTyaJTIGgFaizZ8dp3LsS6tjCFjXt3BroFJrmGJrv7eTLceHDyMTrz - hl6dNhuhfyA+/vKxJ+O9aP4L/LjlwUkSIM9PPcdYCSaFE0U7/kOeuNyaJMAMtv2E2CmOXW7coTjV - tIKpr8Gky58z8PjIC0XNrXwXxSn/AAAA///UnW1y4zAIhk8UDwiBpJ7CB+nsv73/jh2nG9CXlcRO - eoSWeYKQ8PusMWSVPGqeYnT0bBTnnFfUS/7duIIuPgDdGWdNf/Ss57m9oRg3c5R3g+JuL13sqJ89 - jc3saQQivTKcUnll2G5fpIw7tNwhZ3k4pMHT3DnR0dNaOpQ3ulb2tOwO4Ny1/O259lh/qV+t7A6e - nvNSMjajb5df09H8zTNoY3cwbSTtY0m4AK1NDgZ1s9xvctSNnDaftVnvQhQNW6DiRgWwKZVdV7va - SxRquXRBPSVcb0buwlKjFs2yl06PU28JwLWc9x09btdYB1gLDL+kCRIkfNK5MOcFZWmGvS/j9Ucy - 95IOt6Nwxbr9+fv9PYKZTPEqQ9wxx2XJJ+DHFEMIG5E/H5Jy+YuYZO9SYoZc6IZpktfImXBpLRgS - fhy410tO1htMrKz8Ik547e7PCIfmvKCC2Wrh/aqom5rXKL7s6T4DOTl2kmNsv7yGC8JSM4dffkit - J7g9u/aSTlb6+EnBF5mZLnHxkwkbHEUZerldIbvF1AdLDMatoLud75wrVQwY3F+gAO0+V9Ku9FP4 - Qnog2H2vW2/O6yjSlioEuwfK8AldTn5Tl1v+x+vlci8yeuEsSzAZVVjG6M31cjERKrqOig2As/z9 - 0FBYlvRBqEkjL8d69HqU0ZY8MyZCHAPMFDC0R7fg2knR7EDexFg4tq3d/vLOq/giKqlN2zVb0LIN - vMeZsPLWVcZG3xzjbkudP7yF0gudRO7hZjfCCsoSp8+UJkEYgTRuJ/w+Uj+DjZbxG/kgWfOc1zC0 - e1oI+Ta1Qs4XjyanIHf09aTA9buVxmHSrXZ057/c0CpKkEnWSS75uHzX3IROsiany9VW5Fni/n/o - oSW/qUccZYI8bpjRb1PevasyaTG6fABxtBHH/kDiTAFjc3SLneUTfhdu8ej7yUgTScfH5ZbNL+aa - T62miMVpjZ3oSilX3HgIN2o+xpEvRuIR2I+ksQBcX4yHegHFmpnNa5xztnzw0PD2Au7WnVnva53O - vQg8I2lut7oYcvL0Q5zA25pd/E0zXByZ4cLwDNdBTsoiLiLT4jgjzsWuAxb1DAfG4iuaOEz+o4ij - dDBxppipPc8ll8cXGuKK6YVnAJeOHegSbgHAtZLJzcAMNXFapWJppNmFsWbn2uRxquS/xt7h0vk+ - eazJ02HMwPr2BCUce3vi+rPcag5lGTxZboKCJOKDo/b1iY3mkam1aJLCxPsWTf4BAAD//9SdWXIj - uQ5FV1QZxEAS0G9voPe/mg4qM9sEOGbbqvfqUxG2SxLrJDHe+7tZ+5MuN01HPstbC6Oewpc0l9vC - FyTMV9ApU69gElnnXmhlEtcT1vS9geeEWcB4cbUZ76xQe2eFZ+ZZYUsiG/FFcbR9PukGPMHNnWbR - X4kz4CBcSl/1gSZ7v3UFQH8HdOXN/TnUle/63S69SiZz6uKKOrNbvi5TSqJ+W2B1r4GsqbNFEydK - H5gtdsgfi0k2UMN3vQRHwkg/c6u54yueY7MoEkKempmnHOR/xtifdLOVdzvXAkR9VouE+WWmXdc5 - TBBWtxnENVcWK9tsC66tDSEvZkrMZkAwjuXPVgN21ADpVVas9L90t5+A5qVVABpNwJozwMeWyb8F - MvhsqgYQTzuI2ZyyXEMl9Kh1U77xOlmbsUfhR9nrWnciyrIP0Mwqt9NcwQ5QumHls8zyxV6w1p0f - ekDCTr6G+WEj53QqPe1XRZABp8T5MwScE4f/p8Thh4lDnFuOyS/ksoUa4oseTSeUv/zez0AUERh0 - uxHiXyX/cXHIrSw1DPeBpn5jXfGMxWBJeZIPT8wZykcntxCwlpwGOrLbC/jhqsgthr/04oxP9znK - mx/KTSPEv9vT+l4pK4funik0UuGNQNj5OBwT1phU+8gEbZsU8o+k2d8J+qU03QBGAn0/EI9cwHnF - 9yDTp2NQ/3S083ZZc3cjh2TJHM3uOIddUhjHluUzyKnf8DHsikdF3LH3C+kVHjVOy1eMX8UumAKY - V7UuYHjSyEmnRnTzxLyT80qmL3UopGWYAuxIdAUvcgMLmBfDrxMWt0UzdtKDd6ACg/QgfbOTc7Po - k3Bqal0WRp4n4efudcNidCUUoAbGxix+BqOE7KqWUMNYNGyjNRHTWjSzfIxgtE/5+LIRKyWzLa3w - f39tuasTR5r9RQt3YBX//hhfXvELKn9ynCFR7J6i8Dzs7JfCYNJc/dXrrtZn+ZtG9jYkGeIL5UX6 - iQGii0VXd1Y58qSpqvOJvTTq0okXAGtJxAckqtWSDiFVazwqh6otZZLTIJb6DO//h+cpajZOcJPn - afl3dhUVBy5wdHDOffHachFN4WvbPzSTrm3n0z1/0Ov+oMIav7bDCpPxvV+d+b1k17BI6ZOV6C33 - 8AgvDB+YTr+5c+1Vmi45Ks/BC30fRmcM1kCXeVbqtNBhIBfDSNW1Uz5CtrbvWJaaKuioFjPVM529 - mMM95cv7l5b5hI7mGoqEO/alL8tXvEgD294PL5Cbm0ZF6Qq3aXCPS+wwR7isUmNyzPH4/N621asY - 9LcuG4dXGXLAod1JyEm/s/t4cejq1CJTDkUXWyLSze2Tt1SAxtNWU3zA4mngV28cVHmhlFvayl/C - kepQVKT2ALteXRr8eY9FyWstxfcpkrx44C99vPut3Sm/sk2+HDS6sNSV3EaDpZtjx2gPMVFXUJjE - cSktlrzGkvxVKO4o1eltkMcS/5PexgaWaat9JC/koXUmQz+x2NXduLF047XkNU1NdVTYTx+ZSQjW - vrlCDqsLMuJsdsxBidbULUCtKyxcfPqyjUqNqdv1GW8o+fhK8uX0h19DycdWwa1scg1TQxi4uZU/ - XjK++eTtzWRzVcqCSfXlNrM9GalrSozgxd46V2VcDwCStec7I9rxpvJZPfp0fqg7YSrJSJFjHKZu - CU6dIILrKl0eMqONLm19Ms0pBunl+OoPMTUgUp4tLDgQKTsQc7WPl/UgcoEqGusoMRLt98vzELOc - glu7x3j//LrqpiOhBzxUzuZKu+ulY4uTE0QIC9FFz6EXXYzJniB0jcAAIshUiuoUNV1unbAr05A/ - Sbaqi60YFc9UF81shW7XTTdkvrHItI8kF6dtjC3JxZtGt2DJjdqwwZEbyVMrNhyha2zi9dpbHCHP - VmQdjmwDHKw1VzIfjMk5vJPB8Up9bxyvj3zhSOcn3DjG+0fXJMr4ciQ6331LIpeRI9WcAUAgzZls - xIhxAeU8j2TpX46cfQW808zQ5bJz9Ew6YUYwiylAtEDS6H8D10Koz6Z3YSPY4Xd3MQ29a4tlz4DL - q5qTFUhofks6FfCk/jFrwtWkzeiujVc5xH53atFcFMWZUoTjMoot6GAtKp30iCgfq8KldNBOW5H0 - RY/aiuV9F0Xi+frzBWKjxA+LzBGyVwU3USon6tW/NSXvxdf4mARo5w5bSWJHYnQKqYbDFHUBorHA - AKlB3BZqhLRpj8lje0yN/Rp4+etXzgghjtTAbwSdng43yqhGT4dPsfDR1cjY7e9HXoyPqqSJHpkD - MIk6I5rKwyTxkcjaQ10umNcBJj77D7dfLdeGtferNYi81cXAV1mq7QeosSyv5u61WL7md2yTEypN - cv6/2xMMx+JWRD+GyMZPiEm7WX8A7+neDtoAy0pWLruUMbE7S1NdxSDNtWhtodB0+BFHthjraxHh - u0iGI58FxJ45xjWUKAggkwZxYdIphEedNRejthubdqw0dpdvdTVyIzDV5XRQZgcl1/W48gli/OT6 - X8zrhJHfTY7w0KOmvPe1ytzFYqPVj3EBY5qHqNBdc0nMTqwga4fGZkwDmgqOuqqq2MSRwdhDYWzU - +rO1h6qPsd6dxrhtURO/i+GsyXEKEJSdHk2B0xxDJ6jKfpWztvmKcd5qJAXtOrqvgtOcmlNMU5UX - FLHT3TFUQxqRD5Gon1N7XEeocPmZPnOriXy8zb1EYowaZM5h49HmEgu1GJIfsiF7dt2lmCgJvX5/ - myk2Xf7m+CDY+BSCPz9TvSEMTfXGmbSZ6g0ZkzbYa/bTnlFUfoWBkDgUif04uAzpVJkLqBKQpp1G - cFLirHNZ4zD1aaOUeim/clxRGPzwIjahDdd+X6iumpqgOsWS1xLAxyjkdOhOnsjh4d5gLIW3sHkb - NoL+5FWWwBqW+lEbsDuf/a3BlH0dHFrL9nB6yE4PENBOn4KroiZrlajiMQQ7CM4mNOX6OiT9Ya/E - aaKIgAO9Yw4bvlE3iM5Dg6cgcmxO04qedUtv5HUpmkQxNUOLrQVRrq9DOmcUv44x1zOLHA9Qmy6C - 8fpmM39zvTqP8XqxhpGOPSmYIYxlJkj6RigcD9xOFRvNf9Z5eOojGrH3Inf7UoDlzbpzhA6STdkN - vRLyKWlQIWl920O2GiOs2QeoQIbJaIZxYn018jN3G/4BMFOfynjlihEJEp6Rzj8AAAD//8xdW5Id - KQ5dkQn0AIF/ewPe/2omSPJW6QGZ1Ex4oj87ru2+LvmAkM5jh0pnQs45BilqVGbvh2wmqIRtmeXG - IM9GTb2E45Vim2NgCc7WuqPaNvIV5WrsCDmRQmWe4fMfWILa+n8+e8clnKz96TfUHaVxqHMLLc9W - ztMc4ahdDdEA9WWGU32/itY0GWVl0tSaD5z66D80LEtur6V0E1V0HDmXKlxdtumAZbPh3mamWvVM - tR7rNCqc7DUK72KFx8sRZZfwXe+9RuZKWJ73Gs6knEryJGMTsViSPLs4wfL9Id7sQkLbSsVLg0PK - 96TbfMOymuk4gJbcUEmVgexw1dBVqRrNDVV1X34+e89+qwcX5lgd05YjB4lpnVNLJbXr+XFyYYbU - gBc6ToPnDjbLmgZAUXQTVx21+qckh/uy2/sSpdlqmulqm0eyxiXqUTkYvr95hTCdvSPbEST7TjM8 - IMm8SYBrt5BRKpQGj8Q4cK7mlL3hq74lCYJwyqZ9N1x50jchz1flwI2b/YguYg2J7WIR2czhCgyq - fx1/kWozNMn0r2RFcPc/qxuQTpH6lFQF6WgigPQbt5CEnmETRDxFUSeQdJWESFs1uVUQU+IsJrGt - fRekZ1/NKpG62kIkavXsHMRmQElVbEG1+8L4vuQjPQgMKvXOA/TOA6yqcS+GO+LmXEFxecdZxcTQ - l1NW+FDl3mYEFzDtCYs1UnNIG9jjHd1oCmrRKbjaJg/hj98me3S2Rv6+bBiqyfa+NMM6EFbFHF8W - GB/uSyxXQ34XE+V+VlzVvD87QCfKexbBddJS27lpQElSZblPxprKdWMWQXwamv+J9YR5U5hyGoOG - xH4DYvM/bqJJdCRiv8CqEq5MwOyfmC2g07ay3NHWU5Mgx7f1Q59vt/3rF5SusVlJYXPymg/U4/es - 6PVtWXYkj19YkgDTGp08dyBEJO15A+Js0nHhHYvatg0xLkGsnyWWNZU1e71cxCZ7mxsITA+0N2du - 5qBFYEWhG1ySwCyv+qBF0/+MtdI36er+7PWk/fpdb4/MvQEHtPmyibjEwYQf07s+7oxHZrkv5aKS - d9z3XcmF7hgOComE4kk7WQK7HCbjRxfTT2PJSY+rlQkMraAqZsqT/aiRWTVT4E5r+RRTb0VumL7X - 8igGq4wXZtkwWnHwHXmp9Bh/+nuW4AeY7pSVOIvNuqOFr4j4HS55aQZQKjhSa/GsVmmuoQXyKRRz - 2Pu9GWHzxMSiKwmS+qSRqOmnXm+BmCEeNKWIBEmH0wJo86R6b4Hwd9kMfyTlXtd2AC3l4xvT1RJT - C/JIMMhs8pI2vsxhba1Gkw72wET0fDrwFya54U+zHkdYtagOU6vkZ7JNPzLJAJM0MNGylB+A2Y6i - xkvbUs0RU21c18Bs8kwv9yY5HLJ0S9Ng5DdmMtJ6TpCDXIAw4DG8MCG8SEi64e6gvSe7zoUZ3xYA - HdVc4ZHMlKCoSez90elMHfiU/EE7KR30cZKtXyWcnnXKvowcJDtFPyx5lc9qi7g8UjGzHxNwDZ0r - 9uLYVzOXS1eRrW8VzMJ/lZGynvbwOJHsuxKGclvN1LW4lfVuZLxZflBHPkxFLnvHHIQktE5F5vto - zb1QFX6+J4NlzjxR9s+RHPmt2axIcI7UYlVrWHkxi8NmnXN5XdX+UNRxlpOBJhHo58hwRStgl5dN - W+cYaIJWZHVLdH00szpSgFyGHZuUchzffI3KfE9jsVXISM8AdYSsYEVmalmCigcLulKu9QJxe4k9 - 7EmoeRsIPylgNuQ6YGu/QoSq7yn320PDkzW5rpp7sup78qaeneJz/txO2tgNc3kwXRu3JTzLoyvg - wKRzYJGJONPv6JeIBANHy1ceWtblTL0296SkjOwAWdCP7zCk8bIh12VLriMW1e1Iksrd4rHoBbTM - wdtHrKwMBOQwdTJJPcTiptXBoW5razXWY6fzZ1W7cJyaXlXiaXq/Mr+Lt2TWke9VESPBlTu6RySi - J7hysRisVrxDzF2Xr3ZrYfULkhix+Rw+ftWPdQHhsICn9dsx61oSWpNBJFXhU+ZA86dp2FGyOU2D - g8fdi36VconC5gOxUbIf7TD6sStCOEyNezjUZnsd1uyBkohq95we0+poCUjRChBO7XAlUk5JklsF - CEoaHpzrY5TxqJJ/YiUhp0dPK8ixlu79kfuS2MONHRGEIMCyZj8RwDARYDJvSGjFwpKy8Qgc9bUM - Apwcj0+jAzOn8LvTmbGFd6dT2nGng0clZd51OgOd3NbzuvH3mGy7l3ndP9cvsQvLKMvKevJKgapV - 7Bg90zpktLDDZ23Ft60E3n3Vo5OKjoICdJckkOp0hntbdkmj0s1EAPRAoCsGgXVM2hMI0ukDhNcD - dOxp3a9SKhOXb0vnP7GGsPDrtMAMhp3oq7hchkjxchCAMHIV9HIQDLwevm4/BUswsMSGitdzGUA7 - UFaFyTJf82owoEauODuD49EApeO2B7eE9Mx9Se4ZhbnuzZY71vIszup+XBdV6HZcB8FAUJcU1o7I - mIu3E4AOnnaH6O2vvjw7dv7x02xVTetK19O6SfdRyORi1lu96SE6VzVEb/0HBR3/p8OCbtxYUYbM - db2wTPNKzBVGBsDzo7KHUTo/g7QFckgl2wgtA9SrF4v0oBVpXDxEsYaTttpHpYNo1iHqY1ZOzZy1 - vyjpoc+4rnbD9PpDjMrhqbsnFYxYj7o2Fhh1uQ7eA4yiz3SYMrstRiGhs1GyPGfoXJZGWMVbDkL5 - iBG+QQoFyW9I2iOpIFdrboZgippQwEVOOdoW6B00iwLpTySx94/tf8EoJ5iz5sUamibLmYdmtj9a - 1fl6YiQ5AxS7h/Ydbnn1/WSUF5+6XrwkFrOf302dieITsPXcbQ3tDroQOnxWUWtLMi/Oz39+L6H7 - 0YLkjFJAlwXohlIAnOpcDsXzdhz+h6tLDC4uQk/YzEmeDXihL80jWCjytwKpIPewvQy97VyffGHT - kvGKjReWeRwrZIKVq4txcWnadbDKGaVS5HBHQmv7FhyKkZ2rkkzniFaGEUgrz6gM1C1+ymLBMMmr - bum1DBeA+uJUN77um5Ey9oMMHZS/GqGD/Z2kRRcVJP+mH4nyBkGrHD4sMZi3BIKWoBXluap9nvxf - +CvLyQ9/eJjf56n4XWUONJCp3TLwAxNdNSXoitFstLHM5PDnBOpsFOpFG5vxz+wiWA75sAQ7Wk9v - soEhlzO3iD+xoARPbhGEj/rYvxFfdYA8+r/knhK+JkDAZb3bd6rmDf7Gj/zIIuLCX7BrceVCw9wZ - r+6X+68vI3WYwxarhuuP0bPRS5A1N4M/ENfPkLkAsQUAWttdMqJYMn4tx+5J2A+xtwls7ImJ+kZ9 - h21irzKS4Av2nNCnBsOPok0ixvKj/Avh93cvvhHuxO+hHTjCGvlH3iwk6XnZiMGQBbyCp4m1KvOG - utVuG/MyHRpareCfgt6sPGMPIsknr7JLku4U6EbuCp3aYxSZ9UbSlx20Y6eyI6zRVsKDSfLWK7Df - bizTCOIRaq6SDHH3qNk5+PPkB/n7SOP/+qL7DwAAAP//1F1JcutKDjyRGYWhBmjbF/BBfvSu799R - JCUVUCOfTT//pcJWhCU4iSmR6RYvzdOCPc4uRt5ZYHSQxlD6G7kwBl0l1FkxGoc6nR415eY4iGoQ - qbzZElfnVqdq6lguwJPyRtWkccdJa+cei8iBLzGoE3MoT8yBllHHq4ybzrg7380l7GjKH3eNWVM/ - JvTjLs8Ek8fO3/w7Mxz/iOk3PwXoBiapkuMGXXZGD35hi/uGYmXCQl/Urq4Yb9xMeRjshiJZes05 - O5nI5qjxijMKD2Tg5wJO4Kc6PChVV5YvyZf8wDE+XIcfxVsMIPA14erPOpQexuJHWINP0/z/Evz8 - t6S9QciyrsWwTokf4J4ujZeQ57Ud+HjvUOmrONPbkentrH0DgoYe+fa9OFgehueq2gSMU+E4Cgp7 - RimHtLnfYbs0ML4VFUXpicZ/g4fDS6Had6RVU0LyX/Rx+Kwj6kO1wlczTv8705+/t8HzMt7Opw+I - 52AFrmlvhguLBZ76GXkZ+hkF1vTg4y67lof3Zq8QK+Q5ngpvEirkMRhNcQ29IBOPsUUzo7Ffwyot - mEKXFuy+aGL0WQcywLDiDDj2FmNqhvEHUBfuznoBppUKZmGx3CZc8mQMsAW3eMGPlUaKq3azSePO - SlAlvQfy2K43re+UdUN1bqgi/vFSGHvDjrRuESJqb7/E42LTePvFnrffvbjLvGWkTrnpzlWCRAdZ - THYMPaMGH2pyfgm9aDX+tNs7I8lfgt6P9HvnO6vI/fd///xzBW1xUf4ko827iZlmkitemnjIkjYU - 3/zQA2Vf1VV+7lLBzSu4obFfFAO3Wth23UqTrwXuq/OVoQfKspXmZx3ROB5sxuP48pcVmBH/RXiL - sI0PetFPHWuBhijjoM9cYlOD34sbyw47F2jqboJ6fIna3QQ0QcUxpb/v0Q6Y0eXSxV78KrCM61eo - 1NtKXMXfuBiP8eYS0qfJzXX8wLiL03LvUdhD2akaNPW9zIALX3VlZ68HJ6ktLyyWJ49QQc77qbUX - goac3tIBa8hRkkkVqUaWrrT2cvTtaQ2zVVuHYPSRVdoA4GtG7Z91RNO4iUvjrOah6ez1AwBMd/dw - iU4W0mBngNm4JF/LX2riEsyEKzBUeQ6vwY40URqF23azlgpWJzqurBHtzdhxK/9GHZhiErUBNPF9 - 8voLQPO7FTv1tuL9DHcFY8btebyaS3Fiwg5/qVlL/6ZmLYUpqqK7iioa92gSQlMNhkxwQgNWMPWO - hahhpfdvhmDpaLb+NsmMvpDMlkSAve89FzNlHVPPg8ThcyTJgC6M93AmpDLOZjIhn3hsPiZ/AGpy - dzqTc0HSDZv/cAc5Dy/6cOXvPNeT2c8h+pjGEKwSm47WJfyRa6riAzieZbWK3tyAnx6RGCV1cHoR - gCHcmdVoxTs9H3BdzWqXwKaDJ8O+TX5l3yb/ppQm85SWvjmlETRJyyJzRFVWvdVqDTShxHAonS4T - ke60JTy/qMnJBz4cXnRDuwgpE798YjW81QGHv3KRvf9dN26yJU60rsI5u2J50KWA5a/8EGfZGZRj - Hkny3ww3ak75wd5WQY23ikTSwJseQIJeZR+OrwXgtPZDo4BUrGVXXgisqtUvwG6ncDn/AH95l30J - eFaaZbxR26WvfiXu7mWQZL2KKBMOyeuoI1wDnl6vDYEn7lLdiGPUtcU6UpjluMoysrpJdaAnkE4M - 5hTkQJso31SK4LR2zGPkP5j5nzYfkrWSkMYjESu5AjDGG2ClEshK1iq0K5WfwBzc3azlb2fhIm43 - Me8ozfdAl7/3nO1iBICEY9BV2W5CWJ7hjpq6jpzQT5EHc+Rp4CUNPO0R6SDAL0IeujuRZzIdjKeR - AJNxZODmzvRHgHf31g2w17qpvoBzmXlt65a/9tLeqhUyznaf/8kTdvOwxFQpqpYRQ9nGwEuHjElV - Zkafhmbzo6hpm3kIUXsjO6VIhWlLId0bOT+NnN+vA/DiuiZ/vdRuw/eAfdYB+1p5ErkpCceAdq4M - vnYJdNbw0T4njQ6K08IZOnCv9c2oLVCm1q48ZnTXLvcdLF0Ph4fvmJIRbUQ9BY2Vh+YbgeahiTQ6 - 3s8uj0PCXaKm9RGF8aTyAv6S1hh36kYg//kSUrqvTcgaInGyLaU8o2S4WGfuX/2kYnnj0H8jDpsH - xbGy6nQNCMoEgslAcBC7/bQ/3TsKg6U6xfUkiL5Up7wgZ41wsubZsE6RSu9tKiUlYWZjLdUpuOIq - G9QdCjdF5LjMetnP7rAtLZyMSoeG0/DupY4qRfyerxZadJlmvidp0vdsrJNHbJctsuGx9u5Ox17o - q8lC8KXpWIhNf9WI1lfeSLt9vKbLQ+0hBwaFg1ju0yX88wUrfm/jcNiS+wfQHUOyNyRt61BlQT2c - znvdi5BExzKFJK5DEsGbkYv3JSR5g0jGxYiV8CKQ1kd9vn7C8ny5gEtasU1x8uDwwJ5GA6QEbW3U - /aPwIjKv5cWxsFtoii5itNLwjcQIYQ5K0qiEfjQzyBDvTY2zxSvvi1fsKWd+hU70gqG1MXJp3ME7 - GZP2ODVtq8HHGRLTheSIZPZ7scyNTjaMYh04S02w/CvKUOz5+gTi8+UciK83zigrrnv+T5sPqWOU - kj/Ji08rQxzGaYYkvHIlkrWuW/x1sJq21AAjLmTIaMDI/ZDuqlU0uRPhPqH2++9EXB7TYLzpTuQN - T7tK4krYQaGz6hXnSdL7NJ6QyqFWvQpNNqWOKPMizh46ePd8NP8rx/nEhrNiJl8bcudPsDJr+6yj - N0uNYYhHf/glVKObSgceQwOPMsUjmpIVBnHMD48vnG357z0sOZQ5/AO46yfvYtsgbu1U8gVHQ6kQ - qU3/ypiKVIumeR/JaE7NfY3H0cLCwDGQoUxDIScmsrGoipW1VbWk0qp6h1VhJ5aUV/UgST7fNgsi - 0YPbQeRN0PlmDEW2I4YDmaoXJNNUMMD2kdZ4U+tUee+xebiMyYbR17CkNF09FdeUH689cRlOzbSI - NdPC4DIpXKYSl/EaLuMiVbfDcvqAuAWO8OfqAW9cGvYgV2Y4JSp5i6MS9hAnqp6zlZR/BUsvF3AZ - xXCui+ZDeAuHTWPx/w9lAStUSvjL6e52oPL40Zz2tGQJRw8HD8IOJn0IHUzytsfvGKzCBJNVmkwT - TMo4U7ZJGMz29LKx4WCZUp/IJErqxjF/EkkTPP6kgE7WheiKE0+o8wsKOi88GkZGktGOUVzlU60E - BbitNZ3YiG9iBUj2o2AaQIo3F32pINQk2SJpQ1xWnhpJjVvFlbabaXHaKmumm/RwoSdyy5vA8S9X - H7HItreII8WBFyTlqpycmc0RmTMjavo1+uDSFJL1OXQNSdNL2ponqSQJQFUvqQWLQe0dQYmorgvK - wUob6UK3boW0eUgdRSs49x+Jgktx3EUamkY6usRe1Zr8cPnBTE1TMeu8WcMR0+gwQsORwOyOkYr+ - I/GWdAOSPbpKONJWem76UpLz/NkUjq93/flohzfKIlZNOOaPkEsETClBmsCxElednErDeMzKTfvU - 4K3KVWOyk+bHZYW442uTUQbSaKuC3DpmhTAfBBy+1Bc3kAuCqk8EgjGziTKWlEtufEzG0BTZiUyV - IHWFQhdGp+4GhehN8MqkGGXLEomDhUdyZft4vjqtU9O25H0SZaVMhawj3hEGpN2Fudlm5E+wK6wK - J2QcEgBsDM//rBEIjYg/al1ODrHJnArB2Tq1zoqHO9RYsUDb4J6JtIylzooxxElWVK0jlK0jLPrY - HG+abpOxt03+AHyaj7QQGf1bZJXTGJFGKISH68foh2sPhuYQIFg3IrJoTPVoNfbRyKbXIF/MyKPf - AMGgMZURjFw2jeerE428XZmRP987K2528dUOKIVDWy03f5A4Ofp8g7Jy1phUqmgqVRY03UYLlEJV - oVrzAmCu22P4ccmEU2VGhFT1jqyl/qGr9Y/X6HG4RI/z4eHdH8xy8KxV81AjyBiXxtkmyHAfGd2Y - UExtoxTycbaPTBxGSmcGmZ71NIdL04aYx7B66bHLdLxDGVJZrp6vjlCeL6bP1uebZpCkLrsYtyix - 7Uydv+YxTRUqiymcZEc0QzjWLSNjcwyH2aLMNBr1YLWWIK9l6nTLqKkATGr5iEGqbYe2eMOgkBh6 - DjcLSFwShiT3gNRFIgfXIaoe8iGZFSjBcRgj0ehCnu1QTxfSHzP+fop0zRwpGCfrx+TsGAf6c1UK - SfeNvhyQh2yxjnL3+jEssHN4X1p1beJ7spF+25VyRwJbb0ja3EiTi1Iac+b42FfUGysha1vMFSRx - HMV3b1lg0sjaeVT5kaiWjtTGb6R2kFTuIOkaa45w1YlaurOcvvPbsVB+OuIMZzlgLHHCYfjTq1uD - G28gSVoP2RTRzfrIQ91QxdP3UWlMxV3Awhw+uM1LNVwtyKw+bgX/MQsVvwmQ58/m+fH5rulwlXtH - HHGjINRkzOXvOfLaDhIqf6q9mVdMHe2GymDdGPXtW2qLlktwZmeFWFet6OMokDswRU90wEwFAilu - AB9bFAXMpIGplh5cFq50belBS64BnEbpMgl3lh582nYACDqhMTCNa4AfDlm9PxjoXWD65nBAwJl7 - xsreVo62SgW01ugtwSk6Y8aSB+l9Zs6ZVaQqfrzfQjEY8OEwDz3RyUf5vhrQ17tnj1pwvZPwuEXi - 1PT5y1/6pIytbKzY7CI56ZzJdhcJ6pSYQlPYHKmeDbg6aVLFo6tCCebgA2w0g8bmsaVW2BTtlqqw - 6UuqOae1KQ8v2cf5+HC9KU/YkKTnk3oayHEMicabD7BeOq6au5aavh6qblIHE7G1+wiJZ5SdABaT - WI/NS0kNPhzK3nEUV2RMn8tiIL0AUbOe/EmLQJ6+hCcozbxuJBUL21I/4rg36En7gXTq2OzAzHHg - BczK4MqbpIlByzMHu8QKavpK3O4vU7B3PMZlZx/DVNPXKpyAmmyOxu1DQOk1BBftCQiQwmVQuAwl - UcBfy5lhcdYzqGUp9GrZ4ApX6jTuMKmymXMjm7nTaFU1KAaezWrWhxlTwDu7miQYmnQyaNskKBWm - 8h8KMWh0QnwHk/1x0XhGM3/ut+LN84dz48ewpHgDWQXASa+iPci9LfM5OiofZnYy3oxUFliRx42m - nRSgiWOTeY4BXbSjH6mw6e2FZB1LYN1okkPtL+5UzoweLKkOgsJmVOOfWGIz4lrOXCFI+gdnT5Au - Kh31zB8jr+dMrkxX7bKZS1TCZr2q2Qgptq2qA/DY2kWoMpugqpCVUknxuBF4x5FKMhZD5rqmwVUI - gzoK4dN474Sl07dZU19ImNqyHuwBgJ5BlmwCHBr8j/8DAAD//9RdW3IcOQ48kSqIB1/63Qv4IBP7 - t/ffYLG6mwD4Kkstez4VGntagpMgE4nM+lFX8SFPeJqQrLxQD2StHvBeljR2SfUQdPp4Iju5DEZi - Z1pnkINLShKeREJjl5n0lRbl4DK3GmbpLnavc2b+KkjzQTByEcjXZgiW3EGevzbZhJCrd4qXEeR6 - d1JZeHcJhDKtUbsF0YC0vjdEmry5CQWB0SjEWeBbSUH5OaSigKqu8aolhZahpXglVZ/FvL63jiaP - W/nWp65nEKGVDxegr3ylsA5NfiFTrffYpHJuz1owZYSs6tjlgcwFiMDOTBKZQpq+meT8kpPggSBA - u4Z3YL0Vt8AksQ5bCecnMOn11oQ6a9gxZ9kMKy+agtG6VjHG7AtEyg9xdk7GDJ6mKnRQTi2E9jrb - nrOEx/Q6i7G/S1lGk1ofouMIUzb0bCBzzILAZRLTaMht8yQs/7iU4g7aaTTB0VxpT7eUFzLhoM3s - ecKD42Y0musTQMVWELlLABGeE+FptuQTnNopyVAHj4SDBzh9mKMzxl49mZKWTpY7t8YnuKRvQ0Er - fhDkskhQ96HchpSUz0san3JdXdxrr68e+BRc0HIfr/5udooKYQxScKEPUn8ti8SytApzkMojt5jL - aPK9PXIxGTGsVHFh3YDoxPXqwSaRjlNLgfRQLOmSCohKlQE2r5TTJIfV7bZ9pGC9IVzFxFZicH1r - A53Fa2uHby/j6f5hC3z4avtkyoixivFychmDhzk4VRlteBC1NyC0e1xZZeIN6KAUNLeXzQwF2Eh/ - kj5ta6D6C5tJSg6QqOH3sFyTNTa9KOdBzXF7ffXAZt7aXcetDa56nYUxKLnfOfGxwUXJAcB0XwSU - uwuS2ReRoCSzwaVA6Sn0s6CM+7EFJWrSHUwpBRMk+Has65OPOtIRZCQNHqF9ciJWT+5HHbndG3l8 - cweYdKQvdk08QujvrJdf93xqouvXIYBAoDFqaazLG3GwxFmTBjlYNCadKwTmiYlJdEpQa5VY14Wf - aIzBaXY2tmgkoY2lVhuLxx39D15NdqOOIyUewhHdCJPR16VKx4FwTs5qgx67w4VtxC9kg0nnZbQ2 - dQVAkQj1dVbrZGN0an4CaFCZxEwziOOVoB2DlZ+F5Q6QduoRe88o1rlArj3P3iZ5l9YLI59WoLLv - 3X+b5EJfFS1XRJyJuX7ZapLJGw2hzZAlQ9E+qIB5UDpRDAqhlJMhgZBy0vXUWlmShgSA59r7q6II - jZMdHdF53TCzIPeq4PDB7dWvrufJcYfYo2PvfeI+kYcOWsn7/gOlrN+fUiBKDIvxifbu8Ueedc2r - 9QleT1C1SNzlD1ImdZVlzxqhLuiKstZ3kQjpoCgXg8gLEx9/ZPJBQrTVBIGvS06P10loLrTle7QJ - 0XDtwO/wB4POGQ5w/fjE8rc347C5XE+Vk001ub3Rel1MQq+KCd0dL2LWF1qDT6pCuraa3lRTrpdA - cBKfAZoTl4+iNxX4BMnSetFC/dEw7/Ws2ibe6/V3Z8A51ATlI1HqVpSPfOq8agf182utdu9BSyFg - Fl6vx9wDBrHrAROcYz20jpoSCqQjBiCYmpJoohRlE82t7evhfWCJTyfN7toHJ9DRGt0dt9gD3G2j - eRRSVQw/0wCjeEn3IlDKca5CUBUNtqDiohuW9eTePTcQaRFCdMbVh1LUR27U99zqiv8CaSZZUGhl - mIdPMmnsA+RWbRTuhbH1LgzHZkxL2PJLq/D0w0lnquu/Vod5jcW2Bp3azadTzND6FFgprZN3IojY - raaLJoKY9MKJZ+0OWyUEopochWOB9EVnl5sbUT58ljciVUyxcgKFXXptSO+tnOTdUsaRq3YhSOt4 - 3jqI3EClKqR1tBegTPahArKM3ejNULaYdHSSM3MUjqaO2aAyCT0togyTvvSzj133Q1NBcMRWsper - gPZhPdHKadM9r620JZH2p5wWhnJahNT1+01HwPmWtDKCidovjVs4RkPMygUidN1pGHnWhneQgyaB - 9PIXGD6PqI2VQC+Tia9tl8cC2OFYqvUKmd3ufx3iXI3NscpbXF7cn4IN+B/kw7u+UXM8AOf8j068 - ArsqJM18O0oup4rXpWOfk5FX8YKR5/nk1E0HDa9OUdCxyJxlZ+TQWvsekFQGLh7Pnd/647WXnYuC - fbiJ3npfll8ObW6bDJ18/JHqB+54+x51suWypxDnE828eJKwsBQ1T5KHJPNZ1C5nUP7ZGV2XkbVT - MJRBmr4vsS7LNiUVGr0jh6hiVZPkC1otkHyP3HyObPbIwcSk8HnU35T25cb9KuV8nKlTsthiVIKU - j0VEdT0uzAFblA/6umNemCElxbKjWTshqQNCJkUYtAOwYl4VJGHwgQejYAxarv3x5QVSko6/S5Ty - NeD+Ckr5YI5dxV75aZA3mdqsuT0zCkuC2qP52Qu5OzsJgZW6K5BWA2HSUa1gh9SxRSl4KQcSlgZ0 - EMsRddE6S969pd0bb0raNYih3d2++MlpBNBE3BcDLdemdYJWtMEUQpwHsbaWafl6MgOgmLQ6z3TO - mPXuEILhZUmIgNDJZTCM7eW1fFySoxM6nCLaW5HB9eUFyrgZUxH3OFkahlgXLIaqDrVYjNOtoZJm - 5/T8C8J8/qWtYdQTBDKkrr9P1PEUTEEvTGNdJRBUrJl/CU0eVCboVcOaVPIcf4HJ9yE5i25NDLHd - /4Kqvdwff0HYPFQHpvhYaCum/vQL682HiGKajktMQXFmu23H0V5W87WZI1ffIc8U0GWC4VJcdkmX - 5ShTLoBBaDme8oNkdZMlydvhJVx+lBOPFzFQ+vietuD6UzuOIqMdMCiWcf05Jm4uDp3Y1BpL1R3R - B6HiYiOVTbKYXT27h4e85zWaznpIAqwtYsEcrzWQ6RlXKKXPyK2bARwUUQXfoZsILH0rEsG4K7Ck - sNkgqY/JcjzzIOHgJDv2aB5dySJbmqwLYVykvCJSf83EqPEM9ZpT4qUYbxw7KRJD0QRPfnBhSoR0 - K7cH7PXlU7x1x5ri+s+XW/AcPikMH5eV3egpuOqtlTHG7KdvSzSGMaaYQsFVNK3qdUmsgNkdeDkC - peDKSdM94DRjYPxigNqO6XwQUrzrf/7cSUiB1eMSpO1ve8SCMBqJYdfZMMXdRb4B++oPJBhsDKXE - eWfO9cuWksB4UiSpe76b5BTfHwBL+Nawc/LVeWyR/nrOsPBW+ivBEU7QbUwk0VjC+KlQ61qXnjw2 - Ut9JFLMO/AmmG7pgD1HTDYUA1lGSqOPWRuRMH9LRy9IQxos9vdAawnjchZ3fe2ukT4QR7MDDwNZX - Kpl5DjuzAzSLPe8sAa1gxz8Au/hW2LE73oS6sLmAV1BnDV+0+StI1FFcPPG7fpO+2JhqKR3rXufY - rFUav5fYzhkdql7nYhI+TErZYXxDSfiGtsFMdC8Jhvb0yjwKE40HcqBBw6PQ0uJTLlUXlGFu58s4 - dQ/txsDMNta/B3qMnYun5MBdOyO+vnquw+a9A/Pxx1Y3zjLwHyxogTvTJAaLsHnLEO3EoTELVVWT - AWmoxBsPi/MX0dZ9P6A3WdpmmuGqOkvsNk/MQs8psvSPSNJzCb3MRzMJoq36sTA8rUPhvXg03Br6 - E3zSYKBR/DP6I+Lyl9f+55EgYJqj0NhH5Il7RKx0/zBHm/oevqqS6R1A7L0ARdxL+S+wQWI8/GvI - z0EuSy4nUmHL137msfSRjuIuFgfOEXOy1Di5QLzno23mUC72Ce+gCW89r3DotcESJuPLIwgZUD4u - QZr2XmHpkyhfFDgceWjPLe33FKswsv34wLIiMPA8gyvoZaVA/mVL6Q25xq280d9/+MH7b6D+Wx5+ - Mw8lXlIufMItj4wgBndQD8XzafMOSssICQjTCAmv9MX1kmgM6pLesErm3QfGoM4sczihrnEgtcXO - C3teoMjT3gciPRvaZx/QpnE979LZo5DX6Gjkjw1XYG/MQInmXIuqozfGD23T8/F+jv0PIO69b77g - 1qP589FHcRRyPgJcPNz2o49XEUpBvvlAVcpniTfoLqgCRFRTJB8N4FjbW5mxgyNBtKi5g8qrh2om - MAGczE8SXW4Tb7C5BjdgqfmIAQaRn3C5etaciOl8XlcxgPF0CO2jIfyVLS68l9sszuBhE3B4K8u8 - /DrPDrcz6ONljCDMYwR9kohDiF1z5KhIFsOw1IxVgTcTWYaCYnGSYrmU3k2M4OJSOUv1TPdSBNPX - gPdRpIdI/ospgr9sQUMwY4X2dhksvynfCT3w0Q+A71u63TKRpVgx7WDQ+5ECeITBol7eidctGPQm - XnfxtnNJv8nlSgW5rruG91oy6g3F4kxOMtjQaxYo9CpzLqMK14UFDCdhnu8I1yUaOVR9hCOEEEZh - npGbCHqY7iXqmkbQSUkikAWttHsFQvd+EEb8ERD6tUPc74Ew4lSDf0LPtD9NSWd/J28eiX0/n3wR - 2NHLCMyTtPmTY1ExczJE12d6d+k2EOdPXQR+kr+XE7idMP/LVjGanW5x3YzXgk9TxYB/A9x+pOe5 - Aa/y3//9888dbN1pcME0ONY21IpGmRyGyK7ru+iQYIWxYILjDHEJgris4S0NxqQBtfMAb83hdH4r - hzOPxgZjfF22mVc3m1oV6/qlaTNLePBsZMBE9GcAlt77okt1IW1YLf/hTmdpiKOslEG1EiyGA8F0 - sYVXrT7/WFmb+q6SGoh4hTCflwmbIB9xpKLgRb6mYy0Je8uJ6He6mKNPfivKVOB0mAdOx3m4Zura - uv8Eyv5NbSzFA7YiiArMolvCTF0W54HS6PsuiCmRXpm2OMM1zrzAGcpOBkHoURxlnLKTjkXZWkGK - uzcKd1spqG4YTVzWvJIfPdLo8UiDGOZRb7qeGYy/U9vX8t/5SMvvnsRlt/BkT+cojouEyN/qa+UX - vg8+0+Nkqdz0AhklSRn6216Z3Kq/sfYetTowkPSIyuMDlg2OpHP3998ged3b+NOnkfxr3NvuIE0W - L4dpPm2Oc6T5evr9CbD9m3pb+S3jTiR0gVcyvW0Re7nqbS/HTgmxkOfp3napwPhQ1hDMBmFy7AYy - h9aRi/POJgbdrs3ucnSvbLTr7IKjPbwR2PACGzOgC/Pxm6plUadP3mvg0AjW5YvNQ/J/Bm/ls73z - yVb+fl40N3deR5BGCyGDmp0fvcCviiznGst0q7mtOMgYezs9KS0fb8ZYuwM9SUFKA5drhveCHkb8 - gcNy1eHgzKWgm2L1u6BTG5MuTG+T4KK2OWOxmeWxa6j0I6B7r9Qk5foveFiy+EFQLiXlXpLvYS4c - vhQtRgBIUyMzzO47MZdCt91FxCXoDO9vxt4Kc1LWBU7y/sjwttLtgc19OhwlG34P2LQtC8w7HNwX - mPwEzuDNzQ18tQxfT9aGN5IR0EBGac2ARs4ADRZXy7kkAfuLPJiQlwMANJdLk6fu5AAAJD35zCh4 - iCy1ycNbOhzuvOEwj3bJx6CDC3QhcESaPuJ0HYs/0ewVBzhHXTHg/jPKrvLJ3go89Gvv1d8EXvml - noXYAB4sgedvAY+qwNHu/nu9eGXEXc6IuzrAk3MBUNv/sssBh4WqRKwMiPg6B9vkyZagEoZbOx9n - pNMouu4W+lQxYbEvDrR61QUMf2gOB29eGy8eCH5X10W3xMxwLo5Pp3GE39zvCPsiZkopa/9qizvT - 8IycS67MObU18Ay0ewAPFnOCTdx9Q9d72KoOFna+D3uoXQDnkwLgv3NUAPzuWUFJXlx2Pr7GO3gP - eeXDl2lB2dfG0SgVIfyncPL6qpL0jpXofGXV1EZ3fKlis4LVr54+YimoVsftVSWXELv8L6Gcz53d - U3p+cs5pWKRftkidc5LTnXMyxG7+UVb7jJ0Uz8pqjdHlpFvY9UZoKyYZZ/T+9y8n+N2HpMtF8jqK - bcAvPg4eiNOpDWRWrCTiOkapXwKcO8pHnTU7CTusQ6RBoyufD3+Gvfwe3HE1d0NMKcECd3416iF1 - P9GVIom7QW5cmHa0zcsJyND5+nVbNPksqD6bb5ymbuzIwem0+Bau+QJb0PRXmpq6lUhVvgs2WoKN - b4AN1QK4azNVS743fx1rs3sJrhyI0gdW2Un6RH+PCsslY/ShYoAp9MJSQURzoZ6GHsbQ9VVcQy+v - occKel6VUDY9pvhnoXeKUIhHyx3/BwAA///UXe1yIykMfKKbQl9I5P0f7IphvEGCgfFmfVf7cypO - yrbSSEit7p8RGV7Ii5r9HMcGHng8sT/5cZozewN5HPuXDnl8cC5/TXVZ9cNx13V+QU02nPMdJzZU - l1KmpkNpizSUPdLUIy0UJmGhSjL+v5zzF9AAP8GGvZAWffpSGYSHfEWZym9gDbdYgzewluNorndz - q29QCtsH5z3l0LJOcnWwetYnkt8brJaD6+XbWBlwneT0vcHqWrVNdIo7jGJRI+6ItrjDUFxiDuHL - fpMRollm8vqkySklptxH8LFAaXokHIy3ZPTVjS6/ikw1ljsphhcAI6GBB4sEjz8eeih/INcpruYG - AX8WTs4mO/QLf3wo/rxI+a+S3fl9roH2HmuoLJ2GRfIMaLbNb4zbyQ6Kx1lc+WCPs6C1/ocZDLCp - I5OeK4t1Xf/N9PZoTf9CV7TRK3HZw5OF0uBC+/PUlt9AVqs5u5BpF7JSDpP8QZKeHLzJa1gqxwvg - i98iDJWaMbdbjBfcbKdNExXYAgmdklNSF4InmS2PiJM9iYE84Dici+aVaQAtJjYvRuqVaW6EafYH - IzxZ/ODyBfndzPZIneYFvUBG50YBvRsOFImdStliT3bY47wifXnwUagqsQte4aMU+uhIJ+1ZROmk - 67F+8Vs3gnL5Al9F5bqqtK0UW4RfaHmhkic1T0Uy9k3LcYd44Ot5s59RIcMLcAMPUsAfKEq26pUn - S5byl7xJ3Hukw3ZBL/D2rKw3rtLEdetNZSgeoIe2IjkH6FGQWMhd96TUz+69f+noLX6K105/Pbb4 - FW9wuF7AeqQ8ire2MFxt5/JUXaikIy1xN9BkR5emgLv1hY6bAfOgmr4HntmWnc7ogZfD9r667X1Q - /uz2Pm4SXtsHrzLq5U3Mact2oGawmcwFszTjlfahycS8wIUPEv1OsZnyam8uoE7QZzzqN3pMKtv6 - k71mg+PR0lzVTH/rjlDfeu1fXlM6XgNv0N3e1JsYx3Ree5RzeTAqGBspANuNRw7jcZMQPrfyiMAU - y03yar+u3sS+4ET4U+C76EP5TlTon+WeMV7D8QwoudgKgRCIs1qiPI1f7G+uuPf6GVh0j0CMCBx8 - 73/N4GYIDPgr3VqPpYNZXAS5Lhp2JulXD/mKoEFvGvL64X5N5PVr6xBybYXd1Cz5YChpygCz5EYJ - SyhC2olvY1qL4MccyAWmEjaZt2ikZRhbuWkOjpB8W5PBMfow0wBH9nB0bU3s25r4uK2J+edwVOEb - MWC8fCiSlJw4r+E4qEXhoq+psmlr8tzRd3cFtHGT3O7xaB6Q/Q65ypHbf8VnZdp0bQpj/+CpRUT4 - pgpAff8ddWWDxJgUKSZF9EpSFJNizl6MKE25K7LF4diYHuTash/rtb3kPoguLVK7FjocireEcawx - 6llj9NiI6Zlxb8Wh3pu+3moktjO1bmhZQlpO+CAw2jWtWqAKg6ZDRKH9xnxhML33cpcehZxCBKVf - BtLqBMz2t+i3pUOflqIwLJJQWZeia20ABpilP96Wogi8FSfVALrsey8SQFd4mOllDzqnTkq9OimV - x6Arn6xFqVz2L4aaVdagC/LAcuRF8st5jTrKhX8DdTqoF8F9D4bDjrmmLoJZ6t3ybwFdzT3f68mQ - 16CLqY4HZW5Pj+Y44CPX8KQypUeDhpoTJ7jLeRWvdufzd0BMfsan6IpONhgo0sF10CU76ZMd21Pc - sf0Ud3QI3Olys73G6YlujVsv3IUVkpwG20F3CcwwbpCErSCh6cb5DnvZytbWwG0EcePUdiZa3GW9 - +kbTJzm3Oe2MYOrANlUjmPemD+c7Tw9vgMNOl0QwMnkL0AjGy9TnFT2d2igz7sHYmmHLAPYGoG2Y - F2zQsltilnCCnoboHoxOKT/3DRl5DEb5MRjlILQ7D9AGRjVhJFw3ZHCwg4EVtUzypilK8wW92JIZ - sbi39MF+G51ZxZtK9gQzybUxI34eUew7jqKumnk9tkhKPlSf9GUktz+67cuI3Cmu6CGp8LQvUz/E - 3prwhcqYInXTIlVco1LmunApnqooNuCSYXBFi2P5Rij7xiWBj6YXrlLEmCODH7Y6TUbtGzP6jAyj - +PMEqYo3mFRot0ESzajLMQVsXdE8JC/tgXtI0lRcYLfVIGMQB11N6eVYKo3OBRH78lTgUPjoZgOX - /WSXKqGJ4E3OZzVKO5EIzJwKLpE42BPaxsLCoj0hgQ9fmevoR43vMuBQhoEFDvmRfH4kb9wEiM6e - 0IziJfFbEa393zgJudJLyNl7br32qOVdV9dv9vlAD9MzH/2uP/0LkINR6GCUbd4qNF4V2W+xzzWl - N6JkpbmXO8/XgW+hrl7NxbzfObG3DSX+JCD3xoVyLhqVO+feGzzWLxhljcJA2R3NnBwKYeSEBhQi - TQubzLE/mmjAYR6IoRQvjSCegM2qPnK5S4j13WqsU7GfO0E7Cq/oQe9ZCN5KZsV3euQiQ6c+8T0E - SXmaE+uHOHMiWq6OBUsEBhs1xkHxw9tlx6ETFi+bNCVeREn3qMdZWlu6jyPDcN/oJW9ZPf5cw4ax - tv+ynx6ys+2loztNr6fLtLc97A3sr1/aHaNEd9ZqVd8K83TYVD/BU9ZaDCEMJvZVnLNH5GBirzlI - 8EyHv6CxecoDIC3FjQgeClT1iVGKj2R/kkI1f48FKnk8MvR4ZOrw+HRiAY8mFliNe/HG1anuxUi2 - OR69g/0aj/54JR0E+vtYkh7xdPU+JmV+a+TdJL/dEvs4yhBH6rXf2bz2O6bu1ki1XiC3AohH7gdP - pH1SJL2clM84Xj/bIvLXb+3Yv/fDfD1yaTPSIYr1q0Z+RuOOUYQjh4sGETpIahwhQjhXZX771xBI - 0oHLDeMKvMTqBoq/NCqFYEq/ZFanOrFYJe0xqbnHpHGHyfzo1nh9I/tbY/ridJshb4xG6x8/AQlc - NURgCcigIEIUKfm5L3eIDllnyFl+fNGGb/FoOnie5KHQya6NY+A6qkjWZUiig8VnSDygC2F9QYfH - 9nTBEQ97eK6+XvojRCZtMgAjIqkm9Z0H6YXIEMahzIG+tVrNTYN5F/sgzm/+bMGBjUgHOOLQHM/x - +o/o1+KL1/dHxo4rhQdCinCU/nDFA7uWHB703cTBtkGyxSPuOwCtH1e+qNwuVkhb6RkiWT/CGSAi - Ulsza4KyyCkGFP2b+1CWQQMmADKXWSyLbhDJGMOo0ecLuxWZWrJ6K1nUHpFVg6kVT11jtbs0Ymni - Eq8gXo9XFMtTnvf1yj3P+1ZdBGqxNE+RWNen1ygMwWuJwpHcHAxt4Lj52CnOVetKrG9s6OFAHkj6 - Q/zErThBc+v+DqD1pSoeRhZdSLOHYekiSN2OE7am8gMU2qNeKsEX3KCwyriwlTkK7TREtFIsrzfn - IYiMXFymLpDsQCjt+HBdgOCWgrOuOEVH57hqYWOhWmJxg+QSY/abMoTQR1GO1LYWOxhST1VEaaOJ - FxCvxyuQ0mL8BInXS7eXDi5ffGtSpDbvAaDsoBgiSMOWDPrC5tCNF8dcaVcizQ1tGDdiknj9L7Gd - iuZSIjCCj2I/bqTT8ydg0dGHuV835A6K9PQkpTav22Ix2Z3HVM2IWdO8tjnyWdokrd/gposaZEgQ - RrJp38VBiCmRg2XY7FC1YusmjkpUmYeBrojq5hrse+KUqVPaqh9D/JZ2LWR6KELfxbmeLiDCgU+B - eL10K3DHeDfdqFPYUv/h/gUAAP//1F1bcuM4DDxRVMSLj5wi9z/NFkU5IQCKpHfGmeTT5Z/ISAtk - o9E9AGKlWxZINCS458BZkXBWuq85cBQaSnACJcveuKsiSjKC4TYM7EtIoJtiQtI1zN3iYX0Wo/wG - zadK06A8xsXt08XENYTt8OFbWKSaQHV7OoUDAcdk3JEaFht9M+dTraVM8tuHqNi45KXf5oDKw4Ex - ZfdmRWvNG4uYpHVAca6uqjuSJlY59Gkr59MIGkj2Mg6IR3fVgHx09Hj7aoeOS+tMgcfM+MaNHvgA - ScPpfx1etcvGxrXRlDO6fXwtZfTHnJB0LWW42ZYtj/NQzHXgJLDLieCGHW0L6hOc2NY0umpKd9aJ - dZBswQk9TX6N465qXp8uKceRd06sceveKO9yuxP8Vq9z45WMOB1WnWg0PBx7bvyaTTxclduevjqo - 6uz1oT09Y4nWnt5OGWN7c6r6FfdyVWAMrGZVTP1afn2YoncUoRJFHRipjcAfaGxLKBcaqfk4bRku - H7xVwzxJ06wZ62PL5WPeHU0Jk+uOqIPX23T7vj1SoqEuvBgKLqIDoCVuQOyQikQpw5H0mJiJOoVq - OnLLsurxF/sC5qPjUduHVr3U/o+X8Gv5T2vWhm/DBer8XcrwRZouX5MiSPU2PUWizYsDt4ihGLg6 - G5u6UmJL3PNDqmL96tkCUaIdUvlDDvY5ERRZ8W8synMNDhZ984cj9Rf/OpPph8bY4/DSR+2qN+oP - s9cb+U4ZVxtgxDh2PzykMeMlJOK5Ms7aC7mdb9Ubi5tUBT2qwjLakoocDTCJ3QWSo+2MjlIlvSiF - Sdt4MfdRxeXIWbPjFpnlyP3YMfTbp81maYnN9oPsdEbOtwsbnMZUXDmeUOEY25OB0W8PzewKeeWP - fRaShmccBINMNIWsQwt7/RBXRxRlW1OiRmbsXrD5yBlNg2T9fu0vH6U7rF7f7DhnLKU4jZKTO3d0 - KEdsGlu/QNy8a9ZV/PBVBBx4WersJLdCZS4eXxc1VUi2bvcCTpkjwvYd6+jx5mvyBclCGpHKv7lO - LZKecuChbh56ygE9vwrXmvf2SxaPvZRVvp8+3i9T1b+0v1BOsVnsBcRdJ5nVDSQt+iYMLRoIixF3 - EFiCh5sGbg7P0IeEYNJDSGaW/v4RM5m+aa4f3X5O6qmB9s3OZsex1SxrdgHcxeXmPObL4y4v8OHr - COLXAbTVpQx8iXTDBElDoidb31J08Ixs58mQXSlFwZOMN/e1YPnAp1TZUDH4JM0MdAqP69MFz+vW - tQ3PB020LGu6m2JVTTkJjgkCOdqtY3UIOvFpyTvXO7NSsHpJucUnDN+5aLVXlkc/5ehxca7FTMox - X3twMCToubusByGgHfu4v5xIr6B7rppybJmoYL7zgj6nS8Rj6u6JBmpKCdmvrar+WaxfphjxFdB4 - 04N54UPVPKP6QpYF0ZP0/ty1uPcAZz6SmU3+VfPMOsfYsfOuiHzKy6iWIOxQdTVrN9iBFk+PP16o - Y16vTWHjL5g2XF7QDiUxOiCSmy1z3yghadqVkuR+nMXmHNt+8IdWp71nP+fKWbppFqTtcdbWiSfc - KSDrP0EuaTzMkpY8kiJIhukWpC0j4qCOaraMbjJJmvFp6zVeO2fq6JQ6maydERRHuKISsyIa4Vzs - g7YQ61xS3yubsuox0MIeiYjdheT6ao1F3CsklbtUwtoaAdPwfXo+wWZrxGDFHjzdnMODpwEyGIa7 - 5Uh2uRySPbli03aoOYjFowqdvzwXu/FyL4CsT6LtxcIhQSk9GHvBVUcOYLNQ25lLHrIlMK9DrfFY - ErmuttBY68F7b9aPQSGjDcJWa+XoJ1pijjjDtiiLplhaz1Nw9NcPdWYFRL101Xu1Yzqg3Whe1BVL - ey/PCoiXpybBM22xzvn4y1F6OgJBm+l6REu8pqikyNGNl7OGYeDxCdWOsFxfBC4Whi4vAVJ/Qq3r - K1ozp5Z1IttkbL0aEMutDFnSMxeOLZe4FrXMt5yrpPEE5IiXqTtSZphyrraaFOwZVQ1DqjmHgWLE - J81tHdlaCrhlHTdTlo2oUJ/Q+8ZaHHBtij1ONtCB8Pqwc7KBHYbujDa/3XeEaqc9fJESHs2bmDGl - hUEHwmp3Dr8uFY0OoanoCkoe263YTR0k2xKhSayU/NFveKiY+qQdHrB3W4EDIJuVRxC9N4c9GFHt - zfHung7gJg5vnMUq79CUagMcQssOyqHUuPE5Ds2ajrhTqgZiWgRlvyKtdwuD6cVpvZgXYb35jUJd - AaD4Dk9dDuuffl4rImShMJXloPNWcRor6+KQ/hfy3JADnCgnJBchGsUtO6qsZWGz7aiD6lO0iTMQ - Jx4OuV8dT7xn4pC3zqL1OBruzqIZ8MbCIfW3w6kJgC0kB0eIK+AxHj8Sd38nJfubLMVqFPn5Yswi - 1cdnjjTrlyJg9RqsXYziAmll6GLEFmicLdCadaJafHOOYiqXnoreRaWiQhQE7XHT+okpE1vpvVJ2 - pYxhS8rYjG/GUkaoWRrlzsHoClKIjJTmGWu2kiwOaqJ0qdmaM6Rnz5r4Gqy5HvdGzeztwWRrST/H - xlRcbPb15Y4MNTYr2D9wLXpLR4hNFeRhGKu8awo+Z5FCC4sUynNV/9iIP8HcUCPY4W8gb1yrzpZo - HG4gKHcUSn9uevpn5pl0nlH4ST+N+gPv6TA+fPW8PZHiWYTs/F7f7YiG4/vv6G7ym7qb4EpGiuRi - EhawwhWsZEhl5rzAFaFd5Sbn5iasgKUZsJCzsuVDsyfzmjotp7Vn1AWUJ28A4aGjuBzZ54MFU0QR - q0BUB0dJFl0/4+Ao6TdBa92x2HYss7r0EIl9IgvmyIKhLLTuNc4XCQOyXQdFH/2joNWUNJ39rMk8 - aAPE/jcK/yuBZHIr28wfuaUl8WC6Ca+oD9BaV0aAPA+dt2WMwQnttfXsD72Wxd/UuCKca45rR5IT - Zy7azhIgQvOILYkaaDfOMosOBo52dNqGQEnBjIy7es4qYKvRea87GkJaaxvgjAWFJwO2HknJUBX2 - c3g5R/U86V3RL0HEl8OLd+D1m5pXTMfiWCgusgcXsXVzOh8xjK3w4gpUYnsXOEfRzo7yJBhN2EtW - kQWAJX5DXCStj4VyWorQa+IiP3wRU7DQUo0roQvOop+ArPSbGlfC6U70CS2Z5yAT8DQHGXUED2Ic - koiyApblMcD5gqpNoStAss/BUkw9tGTXV+MK1riid8h3Gwl/nID84SuYXAiIxlU65jTwPwPWb2pZ - KbZZyjL7o0Is2u7lhtFBY8wZuZruRWPz3WXzCmUZuIOqVCHpEyGJOhGGEl4bubrE12mGjXInPr/F - V7iEICEXDitVlqlfXkzCMs4jH/8VwPJv6lwZjryV6HgCzPawsGANw4I1bDbVXgC5MJy/LJHmOXKo - joch6mQdApUaEFL6jorlHdaQ6jjlSZil6+KFwmWluDJVzC7JUaMsDywgfgbOflMjy2viMLn2FWem - Rxf6JuhiHlpzrkZdIcMsY/Ptk+L4Apc2IAuY1BkxmD3Hv9++FrCCOupivLPKuYfVg8/g6ko2Dzuy - 5SvBbasqXBWn8v8Z3av8pu5VYI0q17MsTVjMoXB+bB9vEM+tNVva8Dx+WPmkBOOTEpDV9PgysFBB - cDrkJijhRuiFG2FbuBFky+o2vMOdHxwdIcVygy650JUqhxrzHF26jMVvm6rbV0luLXGtE/4WeP2m - plXiZtxpBVoOK6DZw6EDmjbQlGGYjeCqfUWXMeyoQ4gabHqijKBvX4KvlWosYXby8VjeKTzZv55B - mPWzCc2w5g5hEHABMS4c/xHK6h/3M2D2HwAAAP//1J1JciQ3DEVP5ApMnGrrC/j+p3GwMksiQCZB - Wk61tFT0JrvRTwAx/L90FApVnvvTHGOOWZfPdJAcxsxtdhzLfoPXRjw8thVk3SYiqvkk6Mvsz1On - 888l8Z+F7NVCJNx/e8kJ2fH4mi/7WkkTiJ0bhoYszatEyYn+GGO/KZXVr/Va9AW20LKv4pCMkvdQ - 5NIDS2zvsLtFOtwvGrB0ZwNT0mCRfEOMov8Eo6p4wOlGuqwkCZ67x1dvsEah7WdViYi/Kn+91ILL - Wv4qXf6aOVbCcUk1eY4dyhJdlZitNBdKj5r4qLFCjfR+FOoUxrlz59b7UaCuVkDasMle3GTpZZaf - wJcHgHjo3Yyg43c7EVOcu8naeCLG6Y5vY78+Ri6MPUi/h7pfldHQbSkygAubQ5toCZE8tKfIXvtj - ATTdrSdtno5iSAs4XURcBW1eMS4xVk0pLzVirwTTthCzUaxy29OXGVG/LaXCGGQoGfstjNGvymyE - hyTaYaxd5rDtvcycvFZgOBoDt/3B9pYdug0PpQxyzqIb2Fj3Gpm+IVqy8jr7D9cqW5xZvcnYWYdq - ucmBLgj+iPKRflUiq1+7WD4ybr3RuiUqJGMmySuQIfaUsU+Zhkz3GJHU1coZ2FlDn1TIqI0ZLac0 - WrEFYXjChQio0KXqB5zH63VcJkgQp9tUNpC1MTW7XsHeh/BnLNgj/6qExviYl4zYZbHOV9AwNu8w - lqGoeXYbjNt8abzQ4JW+IUC8lMPiE+JmDtviyiQxdiZlyP2Cx08h61dlMY6HQvlKFqOvdRp1qcgw - nLPwW1Z+Ahl1c2mrmANat+MYUzec6avmQ071Z3CWNqU5NzkzIUQBhzPpX2Wh/AjOfpV0R+1IvBQb - q9FxChczTcbwd51J2ZdzHsjkqJK+DESqvSCl4jRA6v+py0AdP30oGGvZW4CgNOPLA2NRvQ9pQ/VO - vh+S8W243j/5VtUMKwJjVMVxLoQaq0yrjA05qmHrZdD+6YM2qEBQH/YBT0uQU1Ovq0ECW73UziAH - Oqfx6yLks198Eb1X34qcDrGu8vmqyv8ffkvmcyJDuK33v/qr8k2hfVeLzXdZMSiPbQQR7FY+DiDs - 2pB4zeGxfdKEMkkLolT3MtG+caysqs6/xodFjrTOcaeA/bp9A68Q+dLzgAu9xkeJuYz1GkkW9g/e - dLrzG3YaXYZOBhqu+bCjnnouoV7G07aVj5+TCapeVD1MBG5cQpAVVXHmq1+rX2tznThGOyUdGI7r - kU3ZBzKQ06is4lsbOGbShSe06yP1CyXBfXrw9dkMztU0hPoLleHK3OhyjFNLDvhYspvCF2EXvm7H - Th13xsOnuLsiZHLhI/HhCxo+4usQvnZa72Uv+s8GfEp4Brxjy+4Nnx2XysDUSMEnvf+fnw3ZhQ/X - 4Ts0qNveZatZjPKIJOk+9jA6CnL5L3qJkFVf8bLHnjwCeeOdN3vBPc+AnfOMMN5cYMwue0w+e0Wz - x9Pucwry5494IdXmc6An4B1nGieA1s4YysCOQa3glc6e2s1+jOgBmGjWejEAUkEdv1a8v35hyvd3 - OJHAV77Fl/47PMPWoejrrzB/Faa9ltn8sjeEoSkRUioufIJuz4xM1cmmaRZ006wE/IbmS1kqPcPV - e/CLJ75v+uz+q9hVBjVhhdCNF3Qcj8uzDj8RD7+IG/gFNHtfpRUKB3kU+bro3HUChDg31vzIf/kp - e25E9dNTWKs9kyNg0UnDzHXNAsX/sOBwdEzYJzBpAsUQWNT1L+J90fNFYSDWh0MoT9gVr8BTzowj - 5ERT8Ky1bXmkadKDwdWvm/UAPOwkzcZ6Brsk5qyU2zdf/USkG6nzXRaOpebyhL2qs/4zVZi8DvY/ - fdzO/00z7OZ7ReE4j+o2+IpfdcbkjmTZJL6IJoBa6EzSvYdVGJcOq8KTd8mTI+cxpUxh3v00Jx/l - NEy8Qq8EZwIhgYYj9eDCx7MtTMNeieYAtZXTKuFB+ev6xRP2xNGdfnssEDxlq1VWP/1zoS/Pn3zd - rRU6ehc417uQnEaTiIR+1Zn9FVo2OS+ZCBYl5omZ6MakR0uKTVVRZhe9UyD3Jdgk82ZL6U7y4brY - LNDZ7ungURq+GSB63HVyQOpWToMnh21tKwXUlCqlOsNLuC1uxcl5+ZXzuHaoYUvBrn54ci+JT+y6 - OywypWYhraBr5n+c9R1qzGNb4cLWZi934CH4h46NiO5fH33NNoJqyHA6KqohIGsZXVYyuu0QkJZX - /WjJV6i2q9OlaWKicOG6cFgp1PFoAbyS5XpT2OnNzC5+cuj7nZpDjmMTWkdqvOTOPEMdhhsOBXTt - ItQUn7k6R1C8sXjJae7z3bz59tZc6qd/rk+kefVZXJl4nsvEiz6KlDC0X8jgVp/I6F71Bz2MR/Nq - F6sT/w177byktJu39UCXZOIP/hA6WbVZ/Zmxf/mpEB5Xb93bL3lpMAeayQoZ/CJq/EK70JnhkQPc - qSmUHPzeBQzgk7ZCl6E9KJnXn9idbzHPN2HYPP6Iov7VicNzf7ayoaHfhMHIripU0EMHNF2XgEqS - l1m6bZigEmHrAn3+9I4j87IRCi8pyserV/x8EYb5ADGzyHwNBqHXD530PtNxR3mZBrkML/877+Ce - Q5SZdp7hMJuNptjKv1bmI9z3jEinis+sHpWXtpc8eWvgUL+cljG0WdD6zWJWFErT+fwXAAD//9Rd - 244juY78ohHEq6T6ivmQg7NP+/8LWVlVIqlUytipnu5Hw9UN20Qkb8GI2d77E4WwPKIkqvyUBTH7 - ZyhsXIheGKyWGK9oukDOqj86gmE+yYC5vK01z5dyL0DDfCc2fyEPgiJ22wAPvHCvMV+nutR1ANDy - ALwSBmhwv3OQ8XidvDjmq7wCfQDzc31gael5/JJb9+GAt2af/YO39uTwcOEu3Hpx249fHnjyY88W - yC5h9umkAv4adMdd7Ma8xSIP3VllsfUnN1Kf/Zz3nuGCynzx9fo051UotyMPN/xgue0FsfCNqwq3 - ayJTtNJ+DQHuOkWDWMDsFqwaJbRNQLWuoCitPSHR9xJwPwkVaDYD1pkIqtoXWT85xVZ6rET5BcV6 - d7R35wahM/flIQWGqzDxUKx2JuMDx+bUgcpyhA3V0SZaACLlYAwRLTBtGYpFnWGYmcfo6CRnIIIl - ZasBos5AlHpsglmfMUgfeEv9/AskEdY7F8x2rQJrLi1vd/DgLlcUQj1jfY3yFoO89H1DfMqG6qtQ - CO1Enq9XhNQQsiHP20CFVBr8uBOB1ITtyPkN32zp+xfYEmAgGj4/eLMU3z+AxaDmtuRO+EIGYzNI - pT1FD9xpBFn9N8jW8Bmr7wUBreOz6QXLLGha4BSEBU5AmPUD7o8i2iAar1yfx1AUqTLU/WUSOCta - 0f1hkpSXFME9DEnWM25+GstIYFNgZFPMcpkiaEYzgFism1/Vn2ODynXO+tBSSG8p5C0E9k++B6DP - gdUPQ6EZAFZPQkP36FzpmyqpW+RCgB+rhx/6VTw48jWDtaNFNgyYWovXrnKO69UICtcZf68XR/ir - epQEy50T9F/9yqcVXeOvnjjTXvjzzrS4p2ELDpaoiaYJJixLGmB1ozXyAOQgQ4YhE/IsDi0qpjUE - FmNUy5gN/ii170AKJZ3EkT5fjlAKpsNQXn/5PFZrH7yuSmsv1BBu/Gv3qdAFD4LRi02FEOmgLhVS - XnWGJfsjlk8DmRmMwakshG/sLr6xKPb5yWVmE6Zc/XoQ6nxXNr7M51nZxescV2WDcv5Mr3gmg47g - we44UHJbmnrDJyOUKvADHxSchS2X4LJpYMjRBxDIwnA54W76dI1EYUlPgWBRZo0yKWraCpij2D9n - /lHTA+ZUngvRrsz+5oSmf/SHStQFDRL5SpTFwM+vJQDABk3qkkRPrh38vGuZ4Rd49OT7QWA7mFG0 - lWgxtMJEjF5bH9EAkGEGIMMEQNJ3CPXjzx9wCF0yROQWh9BkfWjdC4xXPVoVMu4npM7tlikwZcoM - Qwq7CRvQvJxwN+/rE3IhkH+YcihG2yxIIdVqt2Oe94RMCZXduTzW71gypSmW/Mk6ewXzeu/xacp8 - tGKizrWQNdkJctKqyyj2n/rZn+kCJvu8qP5EiQwuNRCe2IWxLbmi5DrEy0h3hmVtXoaOQ4nqVhXD - gmkK5VzX9O/S/JyGbGJ8fZ0vXBaacKnwFi4VTgamqLc6WdAStldLu8Dl8DhuggSK+zbR2eRSDYLG - Jj9SDfnR9hy41guH/OQmXls4+BS/ewLjHCnVzt2QZHrO9k8KFpqY5o6Dapo6juvVCOf14hGZn//o - 6fkKtwzurhkOtJy59S/w6jYUqlCmPTBtGDFlfzzBMzIxXL3Y5yu2XJdVTnHNBkjYIQKgn35LQGaz - BWsTi8xpAN6Vn4uDJeN3GHFwYq8w4vi3I4zXr3CKSkxwWLQy3TaPqrpc5F8C1me9oxMooXjC2+YR - KvEArSlarZlrXXJqsPpbUGjN41JD/6E+ZY7y6huXYnFZ5lEAceJqr3kxfV3qXH8w4XKQ+S5c0vii - B+Vr/1+Owtm9kstNA0mltDU2OWk+aUH+jtHE0RAbgygDTX3wh6pLihvU6k2vRUM1CxTM5NWXs2gn - OwAubZaZqd+/TWDZyLzewDHG+gLo69UnQIVPnrM4Mu9JLDHfLjdaXpNN+y8+KDZSKWvbQ9Ply5xw - UwFdmpNmqGMFQteXFr7+Qd9OVgon2sW3k1ANKoul61890ScqezFWXLacpjqUB1HmE5VwHZ2NMLZU - DyfklM/GOngvM9O5e225Ke6/9quUhdbZDPuFow9knAuYR2zad5hYlrsO6KnZhlIj9Q2Kr3yKn/Ag - m4QJ9nCNZs5N/ybsM2aZG8zrKfoZy0v8YDxhEx4VPhdX7hGQ+IF4A8jSF2q8jOO9kcqFQidTghqk - 8bos5fRQ1RA/JutTtCTdSG4ufM0jsTTyg50aomfcLGV4In1HT+Z9MWoisMe+2B10pweqmvhhmTIk - SuL6Ts2j6ejJ2g/u1xUsQKqE6werpmGuUnNDla3skw9pLHnEDAj8fMA9VnVZ77Tq9/9cQv2KEAqe - 5utXtJ0lFDZMcNIpoNxHBAGPMxOHDQ+Vp0aEDycEp3Bsd/7aPT8O1ZU4IPjkgjchLbwf8zgNE8RI - BTe4vFoykyCbNelbao9i85PzYL9SxvHnFEcIZMYhK/MFTAZT6fDX3ff/XN+F7T0wdmrSBExKMDE5 - +ssJmXDWUyKmcgRJ7iSANSQx0dgaREhi0nYMSbdCDjSOPKdIiQusbHOk0GofWUR9ExLHPajCPpjh - KdtoBiXmWmw0dZrcSeLsLE4hwYxKmccDksq0xTpLkpLoiBV3ex38F9QEvO4nJTEeD3m8JE0Lw1e7 - zmpRFMM6Z479cCA6anbZsqhvJ7WxR2XgV407yG9+nPVq4fnGu38V8HUrTDO7angdaORKa8LDbeSn - gt3JE/ZuBIuJalvWO/33Pgali6Wm7WZyCHuYSFoTOV5uRhR92QpFQjNJiD6W6JsQAnO7iMw2mEzT - I1ZTBREHSp5vF8sseVkmwUtNcoJJvbbRT3Hsehn5vnAd1X7kWPVC7ZSp6pVqZEHQMaiMd4tWRh2p - LbX22CtdigRUjtGpiaS/fkPTTnKx9/usdV5ySf+NTNEDaVqLgBgVYR1VwAVLeU80Ss4qWCl3JtKA - qXFbr7gkteOO0gW0xtJnTpc1VD7NFj7fuwezGyn+lAqlhY6SBgV1jic1j0xLGkB3iMNlVl6v3dKJ - HTJpLn5qmo6K2yVm+QpoHVXRIzbrEYX1FckbFaJOI29rBmvfa+SvQNbtQTF4p2KMD1mzf8bwlBWb - Lwl1fVHszaZL82WsFAAfygDNZqBJ1tudq1GT6t1kaRaaavbPF1XpS+N7akg6J+lwAnv9akfhbHf+ - ZsLrEUH/yceS6zVP3595BOPpxY7LqoItuhL3qIXV/hmEvOQ3agAnqz+Qg7AgIZM1yXLruJrFZU7q - BgZ/gR34wFCe+AwojPheEc2npJ78oJL5NSug+zMPTmMZtNAsSvJ6gJ6QCYLJcdoylfv7Pp5s44lL - dqs2f+xIxc9/JAjVQqAUWHxSLfZJO6RwvsOJ2baZkOar1WamPzBOzUYsm12PPKbOfDg34HZXDUFJ - Op5Hq4gOYsFTRP9eRBQXGkYGohRNS4qtbJGXOlRYXTX0SRqZECrsRTlAQ2FrJ7JE9g6Sa57bFOqc - Wp8/5/T5+YW+H7p5VnMfvfVxYI/E3OVD+L7K7Z94vZjub23h6eRVSjiGzMUUQv7+g20gx31U1DQi - PzZQ8nUtUwQnb+taIgfO2qZtV0ltJKQJm2ZoUObdZR1RGzEc75woAzycJM+LS7gDJY2+alEGZTwa - 5v0d47jsUNR2KC2QQ+weGpb6VFBRXN6MaVPR6ztACWmTzOqS2O68eBbKeW0E3VHI5aDziUk7aP+S - if5sU/C0Err+9HEURHhn9drns2WYB6yalDLkwYFqK3tqgRNc0TgJMsdZi6esrWxhOdMT9pMgcTO9 - PiT35lCDrmPn7M1o9FtiAWudZwfXX0/QzGacJxMTT6fRwfXOyank82nI53OV1nHETo9Y07Y0waV4 - 1JVzYM+Q9abYK4cFN9LDAM1qIwkraFbNvt8MDPUS6tkSmk0kmy3VTdrn4/P+YcGdi1DKaMZ6OiOz - Ddx+zfX0FJk1aT2xsekyVnjfc8LasfIVlnwwPui+9dkvwHgb0ehhU20889KUCLCx6zmVvZMNBvVi - oLACYzauUvbmgGlWs+LEKmTJ6ipmAwY6b8Amjohdge0I64npsN+Ucps3BdY7MDlOmz6QfaGzrWVx - VcuyjaWsSiDO/uoAQtasQcx4uArZGa2dBGlx7IK53URMrUnxpexcBOGYh3yvwer3Fmy89bwFo5Ph - Qf6QfEvGK0kV1xZhiNegdnCeZY9LTxTxvaYaxk9sNbOd6+VlX8LgD5oBxcNyCP2ZKW1gGtCESqi2 - KaE6Z0zqXnDukJINQ3Y4UHzzRHDiieR3DhHGj/YMzfoBfAfN6wR4wRbBMQkqClKB99gUTxwJHhuG - JxutS0HooDsBz+AKN5bVO/ZByJmGYiBaLXl9Jjtj6QwWlzDJUkYmRM7VD9rNyeYB+/nPHncn+b6K - 7RdktN5Ml36QvUUieCLlVqkax9XEvC6xfeW45Ah9JYM/Iin+jAQq+uAF0U6o8xITxsb0G4kkMJMo - KXuDFOP1huOo5ItDKTpxKOFwiYnjTOqEtCU3KGxp6AQvOJR0dhr7d4wjZS8Vb3xNKdqaKj66gz0I - XbXiheIhPksb3pqb8mwt9WsMuklOxB5zFxfAtwQ7+8c/rlK9+/NQK7m9UYfIZraXsTBME+OaSx1T - i6oHITV/Z1BbIKbPGASrK4DV2EyloVw2/VrzIRcMXt338c98FcuHIi1w1G1IV62+8QjDO8n/pDKO - RbTv7vfwcwWNhFmrxV9Jb7t3w//TVRgPXIX/GfPue4rr4wy122pIF+iUtxTGSRMNXTlmzm1LEkBv - Au09UT55Gp9oC/rwtlqBVnl9nZU945z8vAayZ+7kMH8DNJGr7A60ZlOpBJydrhWKObdDnBGH0xYy - vXdtdzZ9y3indIySFOu6xe9+yS8eVulfd7uI9NHkHDpDnUWuGN9HXv4FyPtn7Lzv2ayDaLiLF72I - c/CmiynD9vL8hbcgwbKXo666HY9CW5I4VHyzF86ucgli4tLCpfK8uciOVg7VehDVHAw1mhVgMSpk - tc0CLPCWHGCFw0HMzXFAVwOseiOIWwfv8RIigz3gnPqDhCsPC7jiHRp+E8D9bKpjfJxr91zHH9Te - 1XrQvrbZIo686pj4jhyt8J/sLVCgtRXkqBYXqeoLyizVX3JwCRId80Ki8/wM5IQM5KQUrxhXdsJ/ - PAv/yanm0dFBFdFdV7BVn5aheFSqMBJutfx9JCX72YqAFTyS3zK7yc9mN8npQXE6l5fxEHxgeUte - DF8qss/34i/UBcVp2Jwx5jFa39ykLi3WtaELWPGQ41BTUoCczouGTIpOZ8yq3o6R7/xjWZkxNjJ/ - PEu+s5xZD/FROYly5xwFmmqlG40/xstnHQWo7etJChp/suvkJKY3sTI5y+7gl4Cu/IoRSr5p6f77 - v//5z3tCfvAaOT9pTHekcbBYgI2+Rh5SRzuk8fr62zuqh8uLTMEbMdjrybw9GDpjk6AmGDt1wuyR - ZgU1iY25wpzcCN8zOTmSv4H6AXdScNC04I3BwuU0hK1mJNwCzgVT876eVArrg+fR5a+Am+IfBDeF - ixr6pFD0glswFPJLArSZza/rHL8lrwlLIg/+2xnDUXe4jclmhZ7RjidzNSbOyFV/PmDIz5pvu2vg - ez+hcQncStexbPuujYOGe7gFnun3Wn7TSlJ/tm0rmMp2nCx/5fbyH4UP0TeV219nZkeIk2Ag62cm - 4iy8nJkeOR4SrqQyRTL528IAuSA8hBsLyxdPyVlgWM1oaNVPTMD66BkbPZgCCO3YRu9oIYB3Q+aa - IFe4qSXhMk64ctsWdBIsTHST2Qp6QYXfA3LlH0lsO3auPPbbQ5+d73Rp741LzrOcBN9YefCNfdAU - Al3dP0iVhyw33H+MTrtuPJtfJE/rGqvZOqUr8c9aNp+pmra7WvLeN3aICGWqhSnv60gJTl3bFVwJ - HPnfBG1/UtdW9NJFPOnaNCQ1t+YmaVtX9E8Jp69rlLWpkxQvi4gBYkE/H0IhiWYRMLZwsy2edUUn - 9VNJa0cCpnGDuXEDfitwwEdy7O3ODoFSyVTusttFOSld1ZX2lBMXzwqeO2RmkzWy+Gzfxkt5mV8B - ufondW4VDM9yn9M05DSHOFSLuFBHWp7lcOUJ9C7MTymNHo24UAzcsvXhYrE+6KA/nNHwOaPhB+j7 - Tuhwef6Q5lr2GU2DBzPsMlotY/V9X5L8Wzmt/kk5rerQJ3j0Wu4AKz6n5bY3ewUPMHfUvnRaDgqx - AV8RYAFfZgyZncuyAVf2pC2fy0wqmzPZMbweU9gwR7vZZUtCJbhx1cpXg4ZCBK3seVsufm1Pm2wY - EPZ7zB7bn5TBGqQXr65yYUCAPcB8BguuIWBX2d41BJs6QZflqJ/bw1Yte265deAdGAODsWJBZqS0 - X2rrdQuz2TIkz5Yh14s3wtZOL9L1Bm+1It3hrV4Dkdo4P+j2+nA2TbuM1uIU0mU0pn+raGx/Uk5r - Jb0Yqo+2kR1yNeS0ss9pufqbAHtpxWvPLM4PWW2Ize3dy40KaM7qIGfmILm0fZOWq4lZnYNW34ta - PcxwsL60eome37G18rjNaQ2FG8NWQQmDUEvgu5ohZL/VgW2bJstbq18BOch/Uprrv/QTNbLKE9Tc - zNFDjVx2E1pr6IinIgeseWHPnANpBKrFmp2IYLNYw98HapA/qDt//DTUvISOhgtyh7X6gLXy70Ht - T0pv/dPitFzbYq6F9ObJkfB/AAAA///UXUtuHDkMvcvs0xBFipR6OxeY+59moFLZEcnSp5wpT7I0 - 4BgdEK9Jke9DGnOW4AMGc5fn7GhtyMD3N9fe3J4fWEFOR3qEyIqnFTh9HXRyr2yy5b3BozhPeXGJ - I7pW4BN0JJnSPD7JlvPwkJ+CDlYNLl+aNnwL6uCPanBQLdHo8yE3Qx0Gh7rZ4H+CUjU6vfvna4lw - hkV0bgjJoc5lkYPikLRIqw51eqhMRN9QsI0DKb5DGWm9h/vIkE6sSYAiPGUj2yJWAz+cQe3CheH3 - 2Jcc/Pc/B2jV57yWSQQA8lTdhrACmhspDdLIpDhkuraXsrb/6JDmeMjBHdlAbyVRc0cgqyNbILap - OLbBKSJy6InIYZv7v+NKXeX4o93/j/IKJRT4DwBnilmzNc3NlJUjEeKcQpI4/G+9Df8oyCG8DpnG - tLcRlL/rUsI+sRfdrf6CM0Ol1fciLcJwC9rwRsVFbr//6WdLmogcYm/Jd3zAxzh29a+TzPUaMR4k - u/yGW3qN+qd7xs+wbP/4sm0QfuxqWVP96ToQDsrCN+FcFA8rZwk/Pz5XY92iyzB+MsOz99G8tk3A - N/E7yM37aMtFCUQSkPIcd2aZ7JWI6iVXkrOUVqCjn0zEbd19xR3wrM0Z3HE2G0rujgIl1QTq8hjy - CjbS2gR4cAilan+7RUYuaYcI9AE8xyePc+DFuVKK+DLPBm1y8QXy/FHHjSioA2/BnE5RFKM8Fvk9 - GOVHQurA8WLMKD91G0AlAPAUfcWdTnkGPnD5JwZ8MX8BfE2PPXzNGfAV7Z0QqNe51fjPSPHBr82c - l4dvPDKneWSaML6ohmOq3EGf23/Fxc45zsXBROnyaxNohT5w6cT+KU6k0YfJVFC9EGKOz/a9lbd3 - OJwtKb4D30RebkdUgBJDwTnyHC9oKlHM3D72rPF9BXqMs/Wlhl6CogeW1JuT5qpGeZRink/Dq6UM - J8U33aJ0ZR57rH0gzvY7xDniXLm0yxrFjFsH1XiBOWt3eHHnSTpIGrRLXkikZk28eJUnLVpEJVrE - XrSI28jDnVTwGuAWhjkJY00+nlKq0wFjBj8IjvcaZmNnBk9iUPDD6zg+XuEvTq/jBn863DQwds+9 - XN22sjyp8Mgv4nXrC1Xgjbc0AvWz1ydDjDlnyDQDIrgltFPoGyDSXDhMzeDODZ4xrCxkG29hTm1I - RcGwSYO7EpKaPAnKAoakeHsUe5X+NnNvJwD8sHZGHNpV5phHOn1ar8Y+UGjkHjx//Ak7x0ODQrmt - 06+Wh5kmxEuDQdah30G4IzULv8REYf7mwo81oegDdrb/Ta2bQ7OOH+dCYyG5HDhlNXA2DtuUJqtD - aENM+ntTRFFlEwR57LVeV1k7I8uYtzecNlN7LsyDLk+gmR20wPSdJ9GmCBuY8aWF+mq5KS6aXSkI - DND0C7309OYqZoRfh9lMQBwWXjSRjkml3Ox0UsNtlgLiE3LuCsSLTsfRZj8H/e1YLt8IYY25bK9A - 4JabIgp0qDX7RXtkMCR59I3HG5aw8R3wpiXs8cnD0vD+A3VGry8uVIS0XJ/nqEvlC088Zle78XaF - G6w6b5M+govlhY0i9gzuWJ66KbC8mn3QxnLFli20iOMJ7pxiR1gX7pLgDIlmx9cDRImWKuKsmx3q - ZB8wbhlCJkf24H73JRTuayjcFVF4F37CWyEFMo7ZqpNvGTjTCJ33hVma7IlBYy3K0cUUKAxGl9Rk - QNhstu6OmMm+FJypffNk+MQh6ocCxJSVSw3HX1+SfZdNTXyltf/aib1oe14uc+yV6eMOL3kPaC0P - ITnoEdLCM0MvWIhBF0wUlbY0AlKPO0DtMprHLqN5b9TMZetdNxw1a2QPtHjiC9SVkHa3m2D8RZNM - 582UrfeJAV1M/IV5k4p9KUQ3tShfZiYdCwItJu2nFVuRJ6eWRK+yY2Rfrwvpr3u+bCVuHvZs6cDN - LMrp11+EzMyJl7ZsJLiIATmXy1OfKAAVBRKSsUBMQZSvdkCHQVHG2kFZ2XfcWtCE9qmV/Z5sBHmk - 7T+Cs4jiwFX7NK7BTJCnxz2wvqNoSxl7t6iEbo6J2gWxgeUuCttAourotmTUM8iYVdAkSH9lSPjC - 5gD9GArDEoXHgS/mUZrvCIX4whZFsNEH0frbz88N4M8NpngRrt5+VAwOfSPkxAt3RIh6BOWcdAH7 - cCU4e7JCoba3px6E1MdJ3DK3py1JCQ5vDeVVWK5TXep/4miG0wjfDxgar+1sJ1BlsUE+kBBi0Tik - qy1nMrcGm5deolu/oLvUci9VYCETrRQ7GzDKr0z63of6+5Ryn659/nSG17Uf1g7c5z/aCcgaifCK - EHT5oP8CAAD//7RdW27luA5cUQviS4+sIvtfzYUsuQ9JyZZyewLMz0FnMHPCLpssFquUCXcJWd5R - 6N+FfkfLpnaLUBf3NlxnD5a0ZWB6arIpnp8EgU3GayzkqmdhmORX5WXQ3yZ7eRn8VB4YUlffvqa6 - Duw5X1LmWR+ozVOYgz+Dtax1lxZN9duNf9En9MYpCr1rjf9CryDZhBA9/zEHKvCLvvewt3Lufpf1 - S/BHvvc89kMnnSj7WLO4yTWb0iJtpBLWvA55YX57dLbq9DAmU8CpGU02l65fWn4qyFHn0oXoQl6u - VGbzGqwm2Uynnvc/2mdFHqng5fLo4Md9e3/GL4LNYl+3v+a73DB0yUq1S6cfYRjnUtp2Bossl7aw - YUNLmV6CUz6duZBN/T/0KWNWajO+DonSLz5FKQ/7zAMkwo90ghzHKEGlZfDldyS6dMi+eDZxSxaJ - wu+2iiWtqGyMFHeZyoDop3qZGtJiBGfQFYGqhqVqKIpL+/wTg6DOGNRh59i3LHfGIOfTjEHOJ+QM - vySd50D1mngXYJRzMDpD0xGfp4o5rvRGypnMO3ey1hA5L1e5w5zxM1r4jrRI8qPFW09zvRVtAC/o - 0ZAk5FLMdgJDVqmtoicLSjoae/zZCSJl39j0lrR+UX2ypk2Vl4NFy5y7xPMnqPSFXNw+2ABeL0iL - rowrCWj1WwqY1hQg4P2Fk387duGLSm2NLko5mgBe6GGoBpJiEnh1KdWQSPYI+jnFbu932uNh5HlF - wS2rltbRu+MEIjdthbz3qM7zlObdvMlRBt+i3oTc36tarieM2/Rq7AEhJsbOKysgG7o02yUvdf7t - LiKEHH/V4Q/rNp7p/3w50k/W9L5+k2WtqR97x1oornyr6tXiDpAQ0gTD4l+M2fc2aJka6FPlp4BG - Udi+SPEoLGbA10bfPNIEBwzLj1Kwy4kdakvZwgcslpAhpTUW+xP1iDJ1dqiYvZXczcWMRidP+yfL - 1WCKq81F3bgm5ZJ9m1qm9ZMJuUti1r7Uw74+KdiljyPqzVhVh1N67e4Wp+hS3p/240Y5ypO84Phw - dQsQmOpTDPbl6Pgexjsg6crIMySjLqPMmLTn02l5FEjsHXlq9qBsaUW+kp7+RqvVRrAjB0etV+NQ - yTqBt9tejUrRD9ZhNzpYt966HDxa+ajJ6dGg8ghJFl4Tb42T24Zi35B0swfPSm07fPDU6Lh+VWhF - hWN1Bp3i35CZPQlQaXrAmk0GkVGxMYMON+dGEohFpelykDWBOj4NVDYK6PA1OX503+s0RcYTLnOn - D2dctuf+OxidCmpzopvm8kVXvroEo78UBJqWGZiRfD6973EwmytdJx5lrooASAHYVvDPOCQYFUyd - 6BgVHJ96BdOhJmrf4/Rx4zFXoTWqUmjZqKYR2HUkInU+qzgfC1ogRp+q5grJeS1HRAdEn2eSqkxV - nOYNu1KM9uSMc9Fk3KW3YQvEojO7EHSng2PbNpDYpdD71yNsD8/6M5XhK667VZCAXJfyjPbLvtoc - yYiR34lVV8hZnGEAmWefA1fHtPTOKgxvdfxz6TqcLgpgalnNAQVWy4tz0Z7iOUj/q6HhyPrdWPS7 - saihI/finHas+bCW7Z8HgxFIIQMt34/5ORz2hqJbTOUwSRT1bh+mqPpks4V43ab6xQYmnw2b2LtW - L0oo1VxQiBk6pKc133upRnJlC0VQrSokE1QJfZk6ePFkkyrftlPNu+yoV+UnFgc4AC7L137b18Rx - 0qp6M11PxgGbC2xvDcPRGSMvr9DIczjTgpGKlwnDJNOgaBaM1D9/CgnaVKu2czz0WNQxUTUopWlV - vU09NEIIdJTwK/IUGHvp3QiXb8b2/19Pe1RvHsP9L+IzHnnhiewsrnn5cry95j8e175LFZ+PDpPq - DZMeHQVtLIqQjkW5vguaQoJmVYdS78ajBPiYycPgQk4AyUfpsfIlj3aEQIFo3eYAvz5RvxclhPkU - zZZw7Ehf5gxazhkFXZ/KxYORhTwYfX9DYFYc1Em/Tw3RLPshcGTDjP9BOzS2Dl/NGvfHUcdo67jV - 3oyf3zI6Ur/4idGRUCmun68QKL+/H72LaydNTTGzLaaXfSOSS01ZTR25gl9YTXhEyB6QdZo59PKf - s+1WhbXupn0XwGwBaWg5GLH1dy0xqN1xD/g5QSSeRfBF/MI1BQAlgKzZnPYLv3QAOxHH96KYNJFy - VpJK88ZK0BYzrb1m8kaUKpgcxwoCEzLNIRTV6JCpa0mh2LDgP9DoSlVL0hTA+PT36Xq4fLz/ta0m - VZ67VWx5D3ltszZGj3ET9QpMbzjj2x2sxbQ7snnGLiWpcNN7H1j6KAiW4ng5oIkJMGo4RldI1ieJ - NXC2IySEv5bC16xRVbcDet8x/uig36lHNHk7jlq3rNhonPzQ7nTLtZ2g8XuuIaTw/qZMiwESbBWX - 4lT0VYTqAZn6WYUuY5rwaLpW7j+hxg9UZWzfpabi3pRVAzLr6JzxaQBSjvlVONsiX3oAen5D5ixr - fWoK7+9H52Yyj49i7oHDhMJ6kpLps6DJMzlUPaU63ZV2/u0GITlxuKD2DsqNngMLQiXk6F9jVC6H - khQXdxhLm8PZyEGPTWrphV/M/IJyclj6PZcPFnoqvXOEutVwwFJP5ef/NFE4qSTf3aQ8zY1m60il - mrUxi6i5EWrILl74DwXU26q2kFFsXPcvHhAsvawnEBw/+k8Q5FDkYeSo3e53q/ZvdvbO00R8g4PG - IVYmBQDb2RGW6yrk5N3si6dziLy6CtA/UJH0a5EAzOaRa1INjoTM1WkAiphlFRZNkH/YnPEnJxcb - m7hvNTryWufYWKcUl49SGUmN22PT77mOSF7qz2Z7TNNz1aUSxLq8uHEUAE97jjzvOfI0QRpMspNy - lKg3VRSY3N0wBtXdjG9yI5LUwIHYRfF7fpwO18ccvzg/Xg1nLksZQPsOR8qqC4/uZGPBBaDRdDhW - DqMdHpeGzSDsFHKQvBAAM0/06rQ+Nv7baI0zWLLeHZOQk41nNIIO0oKOrFfHndw7WR2fETlN6fiw - 5qiB0zpX4paPb/dV33MVMS/KGK2aY8fKxaXLF+DmfKMkf74Bk54DK9u9o9OPZyKj6BBE/rULABp+ - rZsrOLnup37kW4MjxWy7qGo4BK9wRF9AZCNxnGxrqivfEoggfnUcvRF+HzTNyjFPquOsceg8ZjlW - o63CLppUvy5JRuAIqBWO8qRwfJOqHi2ppMUqxfXquLVaJT9IHKkjEZu7+nu/OtVxjpwwZSSvx0m0 - M1anuIFgZSm7RlWb4C9OOICMSBXbbST8GgQHZfHmU5ouDyL84R0qwftwiDCp/f1KCozYfzbYs6DD - ZbKSO1cErw6HPKnD63xzo3lTcIenJFbnz93DQf1+zG4YA1Wt8xdWOn+Cs4sb4aOR4tGau7HOnZFY - iPwPbU++5xqSTBOisZelPG0z5B9Tp5urOvqjxZn5NmdvT7kT9J8Emb1ppEo/+XhxHqI4HL/ijxyj - KAVuAwQAM8f6alaD6K++c3q/+s75/c5mfa+YyRNrNKGPJjVxmdTgZhAEQkOsUczGfSGn6B6W7uy7 - aF6tf7rv3dKx+UI6Ml+Q/OTbBu0xslZlQMi1nvaerpI8BXYa+DFOBM2/wm8f+HICPP5P8l6e28y8 - dXRuLzlplsDyo5cc4+YlN9mcYN0YLLwiDWpdGqgnN+KRD+2EOPljpDKdJGoOFCLZ22CpBmhYPOOC - 1uUE85PBwpnQ+8hagVpj8kCCIgdmfnJWgBHWefWV7yBzY3ryQjYLsq5P/x8AAAD//9SdTW4cOwyE - T+QBSZGUNNt3gdwk9989qLvtNMnWTwOZ2LM0AiQzFiqUyGJ9fZEdV91v0dk7kTpZd//2mP1+6Cz5 - QK86CdOrOhMaXwaZ1AmIuoTcWAlZetUwAwvYtVE0Wc2VXRAissnzqibPq545nXUxz2tl3kdP7OY0 - b21NSZ04L61Laem/4iEKDonvQqGP4lcNBb9JaPJOADOhw549S0vYhBYCmn1BM3u9rfPnhFbJ3R3x - MhfdmSQ4YKg1MAM5KC0bDLVaVy8WS8LKu1TPv65sMytNZCWeIyuXEytXyARJetvZRwvwKqzyCIxN - kpVyHevMxeZJaHhZoeWJ0L7r2ijvVM5EHxlWlj2bytiXM/FxoklsDvokCQGueXPg8QPiVSaBPJ1C - rpqaesaWN4dmlaX5PskfmU2oFMMekLPMBBfD0HHJhwS9hmQraIU7sbCy90dQtdQEOFSaO0cNMYdy - ntRpmNSJSzmE77o56jsVNMXF0JFNar6g8SBC9IBajIR2mf0TRuJeZjtXycgs8AaMRQVSYZsEy2IY - H1B9MXOID0Pa4TNph9OazDitLKdQ7k7g+KGqnRxYxt0YjyqSZKwyt/onvguSyQag16HK5CVQ9yWV - 5Zf2QbaA1pX2o8DN9mP74CeW6ri4iS9uyR0XW8ZHoonkrm22PqQpaC5kNFFEyomRHLjQc0ZDtyKb - tbXZygzcigzc6kzVSbQmuUQrcZMkvait8uC8j6iuyFYH0pFqAUrjzr87xAxh6m347jn5BN/X091X - FJffqa5luqOyQE4defcOs9t55Ss5t9flgA1TGee9AKmvbBQqWzpv7gHZJRMoxTzTSHJ6LbhxVtbo - yDfvZIH2wY26pypLUmYcd/YlMKto8ETLcXv2ZzzR8js90bLuIS5TQFzTlwY2qt9St30QwnEuFnbo - HXWmLwzwjvBAS8noCxxbzFwc9/2D16lrGjTI7W3WcOD1prqOC6MiidaxujRwGXlERaXHjxRXeafi - 1X7HtNplVF+80E+oqxp1ofMqk4vWwctM1uSd50m8VRkw1xHY6OPLb/B1WpjR0RcNeBhz8goDc01E - 02fEfDo3XG404lIOJGqP+53adbfT0z9S54A5Q+KJ0hyAWMOE+nzZLznQAX6I1N6pjrUPu8T4blLL - vo6hb4BgsVLz5lXFhV25CaIWUIbUvl1mamTmOLUmFrB9jZemAsI8MGfjN4D0bOTdQoaHAStRLiTj - 1oc7vYpjvnelv27A+jv6qu9Uyio9iFYn0zmUsslFEdNki1GvLCA8y6QGn6ACGN5hJlYM0MbgAlfD - eMN9Z+6FAkvT1M3WxU9PuIk0xYMdrJQ5jxv4PjdFJvr6qaOy+k71q072SqmEmuXXu93tMFCCbS5R - uu5tzLJsDzqsQXMH4B4ZSTkwNyfDK8UdkvjiM1pIeqdnG0OXm7I6yG37vXBct3wOCkAIzzT9w7Yq - 4S8etoPIVOmbxLWtab2Nutqn3cxvWrkQd9q8Svhfa1W5c2phyE5r5/lY+3M3XCGe/f/XAGoTskkt - fgo9gKen3QL856S+ool+Hx9R6wtZ3EifAYwzwl6zLt4as2yfvVl1hImSpu7R/YpHBzHQ1DriYGzy - lstkmpoKz6BCEFAKkaWOZiXmMBmcT9BcPSBL/QdqW0KqS3mmmxd82Fe2a+VcWHp9/E8FOgcxcQgz - sQqUAGlbkCCkGeC5hj7ISILVhgsDnsFC7TtUYn71ESLh3jgakZ5xIz3rE+ieEvmRmxJzRsRCYyX6 - J4AzgVgdBoOBQdKIXO4WMqSpDAPp8kKGlu3lGsUWrg618D8Q4QKrlNsjgG4OY6DUw5naoiHLWITq - Y9tqiN4z7wA84lq7IhS+fMUhZhwbslrZXtchJ1cK6bxw3z4lqiWto42hQQPX+/zxM+TL4vWmcsSy - FhAludf8x4fmzt7a9mW2rK8FRYbhzViRYwOC/CFq2XVtkKkmeUGTFnu5u+3OJ5rcq7z8gycErbwh - ID35pirxGOKUpFDy+G6qPn2PffyerYwYE02mdTFrndVFCVdT6utR2T4A6Rws3D4hg9YXXk1xzMAo - H1SPSw3cev21j741SxqJpvT8x5/qCy0xHFoTUMclEeUyqd1dTCmqLzBngQbk7o8vQMb5/GxPTIo6 - lAmgHe6wGe7webjDy50xXrKRl2fCHnRWc+4ZXA8JLhXG7AsjjN+HiIG5ZwsjX3OFck0zHTLd0GG1 - JuUvt+Xv40uo5Fc2N9s/UfJEidLeiMA3B+Htr5aTS2ioxDj8yaOsfQjQBKtEriKXkVABmqAXasze - KBQQ0OcJ0MdXIP/5FG0trNkT95wjD832FJ63p7Asq7GsePIgP0m7qZdYBTtqrIdpCFRTlbEaXUUE - CddUK0fQsHBqxXiJ3NM8fSwSj87SilGSGzSk81sR5FH34eCLaiLseS7TSV7qHmC30Sbrb8QwJqJx - TYz07mxOroPZq1MENNSpChNaFSZ3eqYkEnN+raFoYQ7LWzHkm4Yi3pVHUBQHzbamvIt+dh4Kb8fv - dedEvMccXCwS8Ex6EOog96W3722eBhJ6lh4+sGB5ofRoPkX/7M+kdE972J5CQ8mFKVLYzbeSG6/m - s14u5zCKc8gWCEF6V4MkDqpztU/JnZyx8SWAUPvsnhXV8+FtP32eHpVbr0GqS4HB2nsNboF6WjvX - UdoZiYC5FBzcZzYZunGt+oe9UWHV4DZyl1GCa3ZQlYkKy/8AAAD//8xdW3IkKw5dkTPQE6jf2UDv - ZPb/N0GSZSMJMqnp64n5dHS7w9XyASGdRw5PC1mjsGY77pbxVVFb3sjvj9qqbmExNc4YfxRz2T7A - M/PvDUp/D5Leg9I/6a0tFDPNDTPo8SLsqTnLEvbxjX0doiMkWXmIZvj9yQzV58kMNHrtp/NS0g7D - W+PgC4Y1sJL4DoboZ94OhZTmdojw9CYscbymSxRqt0YceJsjoazCkVl/fbRW85PrSXOqwRfUD+3Y - 2s//zFm6QFj9zch8C8IQUcJkj1GdmrPBPWfp65tLu6xgB2G1IGS7tVDjp8H8i2+J1gU8ryvOrKD0 - Ify4J6/f+yC+4Rc4t3e9aMkPC0OGqagVkz49A3vqhKleWePPr+1zEUvAda7r/2jpanlc2ie5fFDw - o31v2VKVvJEX7DW8RTda3b+vXPKlm15/7GVbkGNTivEpGJQlYptSrFa6lata7X8O41G14n+jSpZR - lSz00UUoW+LkdhfKsim9ltQzEwCqj+rkjkZIQWtS77UmXsmFRohH3as5pCAkeLByqFkDxXoNxlLt - gLRiMcIT0uzy80ZfogImARHGHBLYA+T7mzZcHIAXEgaAOtcwtA9Qv3eFcNuS+gK2NMJbi4AQQ5KN - PTDVqbszQy23ycB9eik3JfRmHOebzyZZpGo1y8oZPSKt6Y2ahYWOCwvljxCpW35uSVd2AQ2RXKrM - Ean9giypogrwPSSduDIHSs3IH80l7iwsJFXnWcEP2tiavV+3FT1YSGZnE/yd8H3pLHM/Sn/neizl - KZIkwTkk1RekT27H9oPLPfz8lZj9hslZu+Vyu6SgXKdBssz61I0SwKNIxeY6J7ZMNoBkxjQ559+V - Wxbe8VeH9JIP2b65JzpnBSlwzyIFZ8yd8d4mOFPsSNVZdMxXvuUJcRpehLCejuY+uh48VvIwl2ns - cK2/Z46fNwZr54oQy8oBc4U5epqN+oqlbhyyvvPqvSU+6TT4hyt7YxwtEXXBujQqMItFnWC1havW - VJHYXXpgJZjVXHp1vPTqZ21opa1VPb3SOmwEmOvCXbH7cADUFuJS70HoXHJKn/etbj0tcTiqGz45 - oPxEmRENBc1rEGq1rn087pe0HKyYf3ssoxtBanxSnmQlqF0555TjAYneQfhuLwiRq4bO3Ajnjwd6 - yKRMHMgy0WfABhskJUN2AhmDDaB15+BhaL26Ux0thFMdPIRT3fXqTnVHCS3ykrpczzMvAkaPflIm - YEpyM1VrAHRm3UohLXaEH/t0CgLrBVem6CMtT7uJHkdw78iSRiVgrq71zKOgon2OSr+549X0+BSU - s/lMq+StFfio+es2c1oRqancAjG45hPepcRAH8Ub51NXwWmKehEI+WkRjRLk0qGGYLO3UrbEUcgy - 7noPctPtr/OvjGgkHtFIAxG4W+ZsoZG2xjKi6zB1OLSnJM9cvfvKnohy0XswOg/U0i3iR/3ZaIFa - w4zb2iNRzwiZSJue0Ngf6Pc2ZEaXW/qy+KeQddTlSj0o42+GWIgeXHYoFy3E4iPq2vmz39+GwU// - IblCw3Vo5qOEeXYfKmf3kMD4GNTQxYQMw56Q+ANBd45it6D7hqAi+AvxmwVy/gUxlvoyIlA+YuJf - 3/s0i6G8Dk7nA3umwASGimmIkLnFoff8vuLgxqfhiEMJt6J928OU9sSVnmgzPskwsp7YgLD/4vyU - EsfcLeGjwm8aOeKhO90ophUDeIVAOdIt/shfgsUNs9EYE2NQFXJJ7tycUgxF/DSmRMZoCQsKiuEx - NmrL7ieQxpT0oyphwJ+Jbkp5jG5KIwDrbiZzjx54jhHldf4ktF8vmGOv6rP17Rt77g4MHmZs7sA4 - 2WajwKY05axJkgcnzpqCponk1mS6kK2jjpRRaXbZ9k1Ix5DsK52OcJVRxmyS64tnAG6Fk/CLYJUA - VJqj4jw0QSyBm+8B6VPUiPygBg0gA2HG3Yj9PzoK0yi5/RLGSU0NLwsK8YVsJIZAlj2KOjYz2PoB - D0mqN2lqbNLUNrNEcctWFV9MK8vHdh0KlzIPVKMx0el2dQ/OMJw1DGnMe58jfxut8VmnwMdJqddT - +HiFUnKIVwizbhNFWdgFc8GwaWJtljlm+cuWjM/XiOUdCztG3rOLvF/i8v1dj7hcpsLWg5hBF4E0 - 3SF3B5eukHiUcqO+R++a4D2O67RPhSQiPlM0PBYhWthxjDi0mZRi2xtK2WQclgp+gipgckUTjbmi - iQZYFtiFZYEtYml9wWp0IweXkuewvIQVG4Q2cA7j15G6qiYHQpsLiC1zUJbk0yrVo7LztU0pa3h0 - GFBmi8px/ds+BgnZizIPkDRbfO6/pBciN7f47296PFqb48wCkEz9LJqlr3WtmkIRSnQPSBdVedy5 - YVCMaLbHavckDrMb9Dt8iGhk8GgUf7B2wP6gsViuN3Ui1HfIr6B9azQ0JoNGEZPyO8b88pbzOD0E - V36H/Oq6a22xparzlF/BcZt4i0Xna0L5uKPtU1zeO2PrMmeXavJzOPF9awkMYQntjrHeLYxmAEBl - TNtunyQTWFbNAEfKZgRH18jqKuT1h7sjgIsA9vwMWTqE5kO55Clpn8pOAMcFTFdPjkblJr6Bow7D - hn7V6YMS2JcTYwMLOcRwhJFOzSY/HSxpmOo4GucDC/r+VU3Xc4w9z5C/zV0UvVtOPmirmstc2QZP - rWlKd+Mu7d67Kp3ZSRu83J60HHy9qj1qM84WHaxhZRXgmYpfWal/VvaF08+zEmyaOo4U/vOjFHL4 - HM/ZriR84/P6Tb7w2f/s+aDlZ0HbuTIWXD8tM6V5C9v+t+vuwsNVUo47CoBERSLIVh09BYACLLEb - LI+FDJnq1rkGxdLemMZCyoE9DGeEZRkrKT3n5z0iGJ+V0n+fdwblO28RaRRUhOWrUhcJptItSGtN - rIRyP+hxdieUPN/NXpk9A2lsX20ldUpgbHBziBT/qsyZ/QGbKTQ/arYddonMWgYqR/sk3VNxgGTh - YT5Qz0npG5I9X/d6iNTeCG1Usv2P1J1acnqxrhKfMcP8tmxy3VZLxpyr3L8rXSnVV7KYqKPAowKy - t6VKnm+RyaPyknSMsOTkyVSeEYBknpVYbWgVG4q/HuT8L1u6+/is1A7Eq5pvm72zmt1X/PF41R42 - 9NzH4kvWan3VOSjfA4Jr8XFPinMuKKjBWhbG8StqCO9uNlRjMWVKbGTxWjdAv/7IFIjFJTxK6ojL - XGwpJY1vEtQjs2U20jE+SbDX6z23y+Ob5KIZ7bY+39/8OCeAm1jNBcUKtTME3rzie2w6WvFxJ12M - iS3uiSl1LnrzhosYlBtY/JDAzwiQjakUUTGaKYERl/lQsH6LzTd1ZOrksYstwz4r743Tc9/TPrev - aWWYeXpoKExR2f71e4mGs0FB8nrFsdPBkNLoZ65CZe6x6AnheMVJ/wBRa2h1Qu3AcHNEzZNSWIYH - CNJBpdS1UAMvW903EPkSkHYg4m6wbfsfk60Kykqt0XgdizDA9j8+LETuGQLeET/w5dgYdgdHG3ek - 4tTQJhevfYMU2lYiv5/020lUs56kYiMNRHDodWqbyoqDIY9dax2fHxdj5RLd9Lvjmea/M63r4/Mb - XgDo9CxtH2B74ur8UHCSX2YWzSm2Omi7Vl4Y2IID5WWRMmCyT60MJsP7w2RTZLCCfskD1QrPvbNY - TKZhzoOXVe8bk5dl1rVorv3eeCxlc6DMO5BEflFdQRLK3JYB2+O4lQhqysT1HpLelihM7MB4hHmO - x9tC47uS08BHqOg5A4ApdK3dnmYEZchBwGwek2xjwyWPL5D2YaSAg6WwMdEcex0Y983gZI03Vild - 1vJYzaRrQSMe0n/xJnYpTevYBrBApeb716T3ugnqKTPggRzl4e4RwvPImJTFT2DJ35cSVs4QnFM6 - y+Nb2ZjJDNOljo1r+zDM5cYRVY/BMwzK8ZPiCWqheUcC6R3T83uSV0Ge5zQ9TbHZ/vFbPPoCYuA+ - knl6QPTel+xKOJeI51yqJ7OqR+S1bx1r6N8eWIyqkVXA1pBHSFJrcD0ks6kimWXz+8urjj3ubcNN - cwuTJ5t14abZMEkgOje0PWr+GfHc01mdbUobHAXegGEnc1B3gI2ZoekhW3MBz4wMmOwBswaTcTBQ - jfWGVckpGD9GPrTYzM8r5uhdTR73lG3n+1NL3rZk5GfX/vcMfTGvAzgK4ZyXxUc570ssCgnvV5W+ - mBJ7n2RuTPEDO/eUJJ6hk4sfvWJkmouf8QAFbJpl5bUTGrE58szloGqDub7QEc3lEDXlzGM5eyv1 - iE3up/YjNrm8cH1f5j5pjuWUg7ru46H9+df5V/xx68uJtpw4GdvZesL0woSS/Pq5+AksV5/GMOl/ - DDglW2iOJy22TTg4ZGbb+4ycZRxXltef7WATd5+XtBoQAB9csCwOWt5qfv5MipmjlFWMIquExQgV - tIFeZS4dKKl657iAzhzhGY5aA09xsXkyqunaU6gCOXTiuLCEMpInr6+uemb7ynxkoV9//y9WXY0K - mwrNDeHLkc7782l0d2I0PFF8Jr1NI4pGuNmFtE1HQCBZ/ZHLHqGTF0roh2hkwwqgxWgayeingJQc - SMnU1PDR21PjB6TVMu/uQJq2NpdyJmfXFUhbIMrihWKW0PcgDcODO4oIQsjcIDsFwulAT6s3h+fq - AarsLZAgcO+wGEqBJEvZEuZBJdJ+WLIW/184spsR+u3xMz2gYbTeflk+ma2nrdm6vFpqA6xb3NVg - 7/3s7M6At0Na9D46sSm63hqXkc7kEnUYRZqnvnnHzkx+JERFnqcIOD47WcS1RWOkUWkze/fqHBdf - xdjpXKYO14S9bGrvyg5l/bxCF5qflp+g8/a2PAm3fPWQAi0ksxnosTfIBbG8rTRVjkiw8Qi6kRyc - HUHg6cFpnSC4jCcs8iG2el9wfOsB+4pmdFt9f3lh8vpqG5OyZbiaXogvWXDx5KhFYKo+aCuA89X5 - tI0+Mek8BeKrE6vZR+eHURCUWVFVqjtp1btbNcmnf3RGkgiYjCp3zur4UNFDO9NgQCRms/MaIJkv - 79RrFc36QT03KeugrzRvglqoR9/GThbSeY+59ScWs8XYOUUsjc8UjAYRlCxEZyOhd/e7ttnJAZ2h - pTXbS06OIvLNKfl3/zEJ068bd56pgjvej6d55yeaPLw/XBsMnVuLxIFsMlStcDM6tQHI9GYE9QtM - 9kQCLJ6gDikSCcaLkdg2r4LjeF0OguqKp5apNe5K5Mj4XzG19tiT+YW4alyvOceEqEVXmkrL2yz3 - t6QrJAV9M+dxikdBN4LqLkma9zjlyXm1qCdPgmrYk1gWgSVPYh04BIRt8oC/KEsnPpQeAZjq6X38 - kddVo0KdXeqTzOCEolOKRP2WaXN4Qptki0Wcze4EvajS8bPOmXxYWwb6ax4VXFhtPDEXqSOZGao3 - QM5suMzIhsw8CLiOtEUE4ctW4pEziS9ZXIbtxQL5r2jMf2IdSaIuPVmZQb4N/m55rbPr0N+GYQBb - mf2JKuE6JKeptLZlfaH1ozJIWiwpnQ8pI49ZTbv6/vIiMqttV9dMZt3qU++K2cY72C2gIyovW90d - pTM67xaKE1jTp0b/ubcHy/e5OqXaQQ05nCR+voPdR95w7YLKQMqISybHZh5FsnRg8VmqMspG+uz0 - R/0Dg/oHdhmwnRD9TCZIL5EVMFOe6wvooM5lfjK3/hNLycEiWZwU7zZnZRb69xRoXDujysicY4eq - G8Hh/I/kht+VDY9nU+tmoptXO63FncjwCfq8Rj0QXc274pBg4OnAl6cGnlXYh6cGASVEAWWOmq1x - /YH9vB0UPmAU6iLk2hoWI1BXGgXqmgclLG9diu9vepzB4SqJul2KDAt1unRx+pOO4E8sJEuopAVf - CdSPZ/TdekV89S+H8v13uMsed1+Ntjb2MmoUIO8vr27m+moDgN/f+BeXYHvASqWFJH3PKqLB8NG7 - hVStd4s7OtF6tywmcMAF5J4c2XoUP0BN6s9QwHFcA2oXkdT7oh/zluJxSMl6t4wwBBqsW0rZFaSn - rXci0QvmL4y2LixzFQi2h/Em09yXUq4h/wqIgkHP/AzEdHsN/jNAlN++AOUx8Dblk6KDL/ooAF52 - tecn8rxrmU9lpGvDsLItI80OeTMBFiHdSgNO+2kPOwn+AWncLQLZhDisZrd4CKML5UBDtBrlVzAK - dhp3+SPLMt0TeeSV5RXCkRcKLDhE6xCvco89J4sU34AaubLEPZTi/wX08m9DLz32ntrWFFxe8FGU - UfvJt+cx7C89vLXPRX/lAT4Dr0VjeS2ybzxTqd5PJyyd0th3ggu3RanGrxOTd3l0dp3ntO0beVgG - 5MG2XSf+7YWnh5SVTWB/y+1Q4nwZNd13nkr+2ZdtHetU1vE/gJ3+IzfeWt/44LdSviCfDz550UdD - UL0SU/ZA5yMbqs9/s4kN1U+xwTeac3Yxu/vOd5mNm+ftcoKvoxmBph4YM/g6mjDbysU1mWDzi6px - 6BzLVz+77dLWTpBXZH+oR9a0iEq5LAIbcYr1fiHhKqkS5tkWd+XIf/ng+x3U5V9FnciDg1z+Arwk - qPxReJg237Sd8LAGOwlBRZ72VGx6WNanQct0G5/yI800aYghDlaA/fn4Xbps7al7RsNPUIr42w4M - 8EY6f7qMw64SZtoNS9mT2KCueBWQD6y0yLHN2nqW/wAAAP//1F1ZsiM5jjzRCyMWEqR++wJ5kLaZ - r7n/GMWI9wiAS0R1qrK6/mSZSpOE8sDmcL+3BzSRlOA6BlVkCq1hRzgkgP8dyJPP5jvZCHG2/g4r - ewIfbd0FGw1m65f5Bp7Nd2kx3wyNGrSCXRkubbOYsQqyS3hc7M6PnGqj2i2EBOqUBpL2y0wNpf3P - lZU9mHIHw96v75mJdLolwUlx9gCt3FHgPDEHu3l5+ssHU6J1z9TQ22Q8ikMHxr+jw5PPJj1JpzHO - ota8GrxnbqfVj+19K3Mn6SXnVbt2cY9kBcQ1YwKAx3taA74MDntgi010Ka9nvoTmh9LvabVVbdHa - jM4sk0WZZfY5T81WFn618ZbCZggvTDPUnU+IkUnmEmcmcNk9NRXOMjkdv3/GCDN/NsFlaorNC5Qh - vju69HCMctsD840ym+F4cfIb2s5jRTCjMc0TNvqngdjmN/RC/f38MjBqEyKMypKWHTWQNcb66LGC - 2KP0xvCfTS8rix7zJL1xG0Xv3Gh/+UDmtG7ocvanvzq/tXPqP4K8z+a3snEdyl8Ib+DBTFNxBjzZ - EjrFJjVaGZQOtC+05SX+TCm0AXsxXIfkkhoWl9Qs3tS6PDSlvd7wknq8UVNTUIDrY0YKcN3pSnim - b3q9d9vM5RekGeJKmDVzdNqx5xykhPXW3CrSgBWPVogrZOUv/hl5rnx6VVcqwX7Ty717gCpY8shj - tlwHnu3MaJ3pxGY6NGUJsiyxx6yPdWHoDRytJlt0yHMWX+DKSXUGGEjXk0GbXmKz9O5/LFSpruf8 - hZ7yF24y/sItwh++OM5KlSr23WzRBpjD0po4kJyByhpzOoolLlliJf9Di8vy6SVd3q145Dwmivji - Z6CTJvcEEWOWvDyRx2zzHfKyicO0VghCHIrnFXK2Xj7hwd5tlnpiSsCkKsxvNudF3sy8hp2aXGKf - 8TA+ynh3zm+xnoXNJdig3TGO0Bf5x8QEl8rBNpx1vrXkp0DYJD0G/lNVJoTfkvj20RsXm//zf//+ - 9wPU1Z9aaq4755Zr1LlUB8uuDp1WHpuj90GMJG7sgAM4Oq3TGOkvvt7n76rGDJI05IDzx9qC81fa - unJXRwt6ZqmOZxuXapNaNhCzggXJHdQaiIm9Ffpn8FDeygn/RfiSI3SMyyW+is1qkJdZDawJkGF9 - NaUd18VhCWt/tfN0SyHMdXHqWj1gUNfqQalu1y9i9+AmqYGqJaGvJeFmLQn7WrJ232EGM6i7apis - wJvGUp0eZYaFVewvH0YA2EANyMqDaKgxBflTaIPPjivrvw9xv5GDNwPl0bzy/dFXeKPg8GZpJ3oP - ZydbrIeUNFRg5mIFmNnBzZ4YOA3foKjNockr/8QrJlRoc+ksaLCpmQlwD7ZnMxPgW5iDWQVJhwSS - SQXZLJjqRlIyxuWY0oayKpYvN+CAXqNwn9/+jgU44IcRh6de2saP+a29TI924FAps8tBJYGDnCkh - c9SQsyUkGGnXYQ0JyGb7Rr6KdFd1Tv8hgKoiQZsxBdabbwA3LzGwAwW7fjfwyLvneu8OdowvHnP2 - qioelAnqzqIyUwp5YUnwy0cTCNyhpM50RFZ50PRtJf2p7TfQh3FH8YjlM7gj3G0ICC3wQrFyOhp4 - Bnfaurd2jEMJ3mKFAoBdums2oAp5ySFPhaxh9Sdq1EsF1K9SYIm8oKvLPnTlGfBuifCm2VIuVufh - WYkZznElRiIoa8UyG84qUl9WwGN/oqyRF5uD+R9BHn8YeRxPOvtuNRd5plM/Qx6fWg+US+IZ86Rg - +FcIIdoapdghM2oVZeerhGlXocQgG+P6ku2aQNkMtL//rUImUec86JFXPyE2XuWn5s2AcqoLLlCH - p5NkpGdPzdBac44iiWQau18+dierbT76gjWhIRKPTpKjlM0teWjaRdPwtYen0iILQQvsnpaEP3UL - An5+mgJ0J/VBeai1Eg4I7RKrSilM5ccuBJohGHrZaw1BjM5E6QYGrWanx6DAfQxG1MNL7NU53tU8 - aMeW39wuUEuS64cnhOok8IxQVD87bmfPFwDjpnGwAExLhkOEoUF2hC3+WPb4Sxp/2vKzTb5+4Be5 - fB5+N2bQbTgW4CH87jTpJ/ySb9LDEn1gvVs1+CgNVVUwbXOgFZzXLBWDv2RyIIX+ohWrDSh+EoCb - svNN6KvyjTCzoJviL0zb9RN1jiwLtN6zLlVwuD33PFE9bFGXVvH6umhGP5gDrS0WCECBrjB+cOMD - eV+x1FLzYcDq526XWDGkNDW2utBmkh1Et1TVcINkjyAN3Fj+GtoY76NNs8GqXEw/jK7sQ6td9Fun - 0dSWlut7yKq9kWfyG9NpdKyWsWu0xWf7HycFxxpuQwMrspyGAdrkBtxI4y3auEVNarBX/7+1Szj5 - HxstTX4xzTrz+Y6VG+Iw5ASJlogTu/gJzijHIO70CppCjoc0BrS3BR5y6CBHc8hFrYcaOPVNXjWg - ypw+CLpqmXUnw1W33GctXv3s7/pktX090ec4tGAPQ8yIjEyPh0HRGziNBioph42AXwjuJius+A1v - +GU7mi4KfqVYV/nvac8jKt8ag7fIfEFmrqpfpU4xZ1y+9p/U7jXlNQw91WHFhq4relijkIb35BR2 - KLRh5DkGm8lNv9LrKQ/pyPiftwlLM4bqwLvJfOE9nX5cZoZTVbox+zYgdBQj5+KocyCJzYFRP0Bj - Gnocx10SbBXkNHxf37eSPyhELbsYol4QUUp/A22Fyr72xFfIjwctlG7cRJ4QHBD6lokwoHM3NhCE - MUMz7DDY3KVUGOMUhULapDokAc3sA0mfo4rVnwnTrUyID8PXPvs3p309a3HsWts3MOtMyIaIxNp/ - ioexy8xW9c2D0E9bPLlWNAizGCaS6vy4pUaVCs0Flz7h6tkRSn9xmQuZ7xgVMb04zXIhSqZJNuTz - mmSpf3pB0TDbxToVKSSWbIm1FodR/koqtBZFeuVnUChFP0elH1gXqRpi9MnDEt6abTZh8PIwExZp - wrVV0KGamK5BaDNhxJVIf2ikjvnEk2HYvhPuM2HermtZd4PEevqSQ+4xeBqRfjgR3lm289sBTp4l - wtiEjZbXkyf4DBWwoGMlafT5La0ZwRQZ8SPWouAVfk5dRZFdNP6ymZ314tEFj9KUyTsOV79sL01Q - 6jIVP+WlmjVYe7E/pMTjHpWzvCJOaGVUeOxcXKql4FYr4MSgI+Sm9ZlJWvtkUCnDYrQYWarkMYi4 - JSux8u0LxoU6FH3HrEvRL6cVkNSVSeqvTNLtLJj41nlXmtlk1CwIJU/uu856NMSSAqf15s84vGU5 - 8gKHOe9w2OSKvJTtJg1KTCuqp8Fh1Itb+Laq/t/zMzbjzY/desmR9r0EvS3EH/GVcvViWwPPJj8R - q5CjkSdWAly7E1OOo03R5Y4y86d5Iy/Jlp0b9cIvhqLjhqoErSbXFnyixamUUIdIL04lt8Wp5I4k - XIgze6GvXAfWwhN1qmY1LQliBsYV+MA68Q3sFBT6eDOPIRlqrkC2o+3o8Bcs1Rrmi/dctMs0KKeh - TIeYXoL1VUOV4uhc+Lizfs+orU/nch7nu7Za7ml2bhnfxxlDxZX6Fbr9+7IpBEeWL7YeNapVxXpM - WyGIYVfoLKPQQ5JcNnRmiiHpitSIDJh1YKHg5qNF6zRij8jS61a9X9xCZMFbiFylQ4qza+fSOPBB - 6pgtyhqQRrIqW8kqhUcpm71gLDhcNNEmGyZaHvJpNBbMOhty3xVKOSpn8oPZUPIOieGtlMrxoWRj - 5XxVFK51dS4UWmVwy4IBLQzueGiaPz+pY1La8tAo5+0RpoDCYFN++Qlg7LVS60flTzeFcGdPWDsL - fNGzRVMtzt5aA0whLp6kFX2GNS+83stLdGIDFn/jYtR29s58r8TEq9t1A8CkBaahd00UrkYFpPtC - Uv6XrDQ3r5enKy3ftXY//+aehB1fSLPjB2q2oR6K3OqaW1C0xw9N0nUuFU60tDIlzqPmMFHaQZFd - hQpuQKPXhVmijqT0QCSizwOR0/4ouo5mZkLhUyBSy4OMBSLxGohGrLjYNNgXNOL5FjaAQwY92lWT - lb4t7OgWkOcozEXrk5Ve5r1+yBDFjGf6olRA+dD2mtMSbhtgXn91b4FZZqd/1e+PcNhd1G+xFzG+ - YGgzYjRBTFnB0O4LozpsIZLhiMY6ZUB2MHStPZS5Xn+13WvCcz/S4YFBOWUU4xH9/lV6xf6oxMOj - dIr9kR6hMdItWUd48dy0PeNYPxyOmG9D0ty1JGdN258HJs/OJtLRDEOaPZp1hbXCLOQI2jijrEEl - P+lANt29S0o81oWGmD7xJ4ynM/UZxpT6Wdv5Z3sV/3TT7SRO9QLTQZnTUC+wfoPluMZG7XRIUqmw - KBAWW5aSHtfgcMwNCIZryJ4945KhE3xUVSmYpT0Sq6q0BDsoRekxWHoIlt6uJvMjCGa+Jfg45YxW - CEpJE7+aXHjrFXVB0GTFwU1nj8G22Z9DEIYPVCywaQ7RrX7RXwnGHoakFeEx9cZ7CSqHIH26sBHY - iUBSeOtSP9UXT3DHT+PCozVQxJVULrbrOEWiYRPDoXspiNk7nUp3PRzFsaCcyDGAotFAox92cZTS - GyiiaJnjr5Op923cRrF3buskIc8Xty3a70hC1o4/z1qNLzk4N/WvgX8bqhHqEpPWvy21R80Ek1Es - Ed9UqmFIK2XEDSbBjU9poTBYZU84azOwnpcY5QBwavG/1VKK91T8+C5T8aFEZP2J1znRhAwPgaWJ - qdBS5L8dnbgZG2eTEYvPiCXaYobAWSeqk0EQ7QhNjSLzDUExK+Cv94alx2DGHoPvzvbCYCp33RPT - PUJpejFPU2LEQGP4SWsUoVTXn7KGn7FwG63xRfsnlmVWPAm5LpyWHGxv53NxBkXkCFGReggmvUSk - ZqT546dYgl3n91ObSH2Fc75qkTxf7M1u6LgVx4ivOE6JcrBIHE5sKht0DcO4cfJWMKRjh8IhDBHW - HUWFFPjIeSNhNaZBbS1F3IOQDhSypWns+0Pr483xL/l4w10bxYms1hfwgXkcPXqSA42lG2cfyqTN - hG1zyNq5YRxJALt/KhaE4kzC3OQbewgKqX0wSeoafc6HNMe7DoKpxyCXNmy5vIXbmOq0Fi56ZjNF - 4fWuXSDr6JQmKKyLwqFqDOfdbZONHrnLGCj9nIbdzDsFrfwz9LwhCVZ/pDgkkls7OZO3ds70g0TS - kq3US7bSUVp6XCCx9PHrBEjoyHeCd+sJGl/Er5AnIIQjJ+YxCEvzj7qzOTT+bjzYXWgUslWRBOPV - l4e3FQU3GoU5Oloiu/6wgIIhq76C29n8BUM+JIMauOHRg1CvL1itL65XexTyXs2izU3TK840ZAoI - DJfA9cd+H1BQBk5F1oA0kXRKCJcJ9wVIWZtQ5aH6HbrJaUrsEBmdJgk7l+EUFSJF2wwzlm7mxvUB - aptE6SHJfVnDXVXTuL93W0RutqL7uRu94gyZlUfCwxaRD2k7fZaUSdYkG6NQwv72UFU6DJbobYEp - 4+N6sE9YV6N6xlRE1/IrZCbN2efUb4artFEjePQ1ahfKU5jxCiYoZAZd6syRCbeQSRWZyBMxekEO - w2ds/bXf4ubAXCO2RKaJZHTWtaAesdHTTimZSPLwBsr6w8Xo5jd12GSDaR+zoKpWgqSqHZauao2X - moICZs8fPr/t1XC0/4nPhqOVsPuG41yF3HAhnq4zqsx9HIIyHqnf9Mc1KE334Y4v1I6YxJ90GyMk - oeEkLjEuWVPhkEajVYHMbgpQ1PBG617Exqm6qp56NKmV6vHIPWmKpB3nXQ3I+fIsfM5Xdx+03+/e - ndTE9ArjSU6u7Hka1q/1X8cfkeb1wtHENFkbMqVgmVzaBDYBHXo3Cpu1P7msieCes8k2IlDUXIeS - biljJxubjoSJDTRzdyV82vddi6p+2ZEOplt7qluujTtkAodhFNNxxzH1RKZRNjmFKafet+QcU8HY - trQ7M8+kovX2X1qrt44iJ7Xn0M1IbIYRFy7piEmLbZMezhEf0OOSD/oZz11/uG9JrrdtxzrhFcZj - Hfgm9XlA0vHeGd/KlyaUjtqvD6WcrD3qJ2ySYbJku3r014rY1MP7UIotfFAzcdhoQ8UEXRkrR44M - FpI9mUM1ltJD8nxxh8txvm33ZK0jnikvNcUyBqUsJwNvJJocGWyOTAqInoaTtHdZwjjkUdn42aW/ - ELnwuTl5UoOdoLk4MfcE8fpFGM1sldRcQNkFUs/FwXKzo6Rb1u9UxYZmLi5YnzBD6gaFB3nRxLF4 - kn9/6eaUvQwKxy5Yxd57p5AcDJtvVR9HW+igWjhy1CBMobegK28nGwVCaAvT6+JNtR/l+DkYLjeN - A49w61SDeTYgr4sOSmMd9XpIHG/e7YPRQME0aCJ7JgeK8+HRU4E4lNkjsaQ4O95JJdnxjrhxufTq - sqVd5v9EUekk1m/SdiddudoPWbHtTK+VlXTHGueLbRyvN22pqVUEZWaohDy+uEE5GsP4zmzHChEF - mxIzK/UFN6PTYBxKaFBw5liCFovkTzWyA6NW0TDHU4kYewmGI4sWnK1oVLQ4UHuP6+XJymmmwTeU - GM7G8wa/cTrYeTs0l7EawzYrXkIo/w8AAP//zF1ZciM5Dj2RM4iFIKjfuUDd/zQTFFM2Aa6aaXX5 - U+GySzL8EiTwlhcSqTvV2P0xdRtHsCYMGIePVO5sGMQ3RondEVW7gY62VvmZ7AxATEBF+SyV+dlg - MbQUDjaP1OLS+gNGug7lp+VXwkc15JmXWy7jChyeUJE3i0fvQoT+ngjBcOLux5EpoKvf2DwRk7ti - pI4CQKm7/Gc/xUG2MIxg9sZtYlZ5r0C+J35zSurhqmXhvF7eIMSLzpwvL6HDTFaCOQjDmNZYfnw+ - JcU5SxQMHQHHXPsRuv2VQyMPr4scffoZEna9EcQTOrTrjVmMkhHMvf+WarzwWLQdbvMBpjeCxSM0 - C0i0T9QtpwrOemSEWQZCeaATjjkdUOK6l6j0xkT92iMbARVfumyN1WWgIxgLuDLGrjUyekxCt0dG - s/OI2VI5JKW2NXKhf4oDpREWQ2zPOPerG5NWgLOlq8aTMoYnNW6CTLkkTJ6t5c0883dzYCGUNTLd - c1Y9YzwZ/r/W48DcNRPHbkVRusds9PLiWCWt5jEL3QAAW2CyjeCVnFsNgFaPwZ+/fUsMKB+mqed9 - EbkLmqzCeOX9pofZ1zE/iGejnDC+Qpb3eEQ9/jOoZU9zBDTwTF1OidtKjjU5EPeWG8Wix+GzC8FD - K/wXl+wq2jKQy5ulznwqm4Ims/2AOsr6LuhbCqv7e3cIJZ3aMcYLck2e66uaFqef/zxJdbaSsbtI - ZmMAF/vjq4ukJx3aF5UUDTfX8XydiOp3WLl70oY2zjApm4VkCq2i4/lhEC0wDeHjZbX8qqM0B9jX - 19541B6RP6I+AGbglDAWPJZFYjxhQf4Z1DQPFpNtTXOfnRCSS8wb1ZSfyX1mxRy77Uck75IKnd4K - LTrZ2jlIag9BUAZu0e4/0CpYXx/4dQwK5nl7OOz5fkofELGm056yBKBxQfMVaxoGprSJwwDnsgLU - XVHs07bfgVjHWxw7hEuKrp7Zd05Wgu0FxUIUrUrAGDXSJWB3k3BxU0humeWFn9hI58hcTlZtk86U - yIXKI7OjLCnCOJymLkDOgOlmBeiPQHZUgJesmyYN9eQovJMilz89B8pOtINi7plSTVJ/UFnVsK+r - CV4i8eNyZOT9CegZ0oz4pgM14jke0YdYQodH6+4AO04WhdHtJCfPySpB0h6R1HGyBohsz7IiNpU0 - maCT8mHQQRLs2K7dZQHekSUVlHBMWL5/aXtUpgdMh7Ah8HhkAOeo9NXEPn5BgpFhScfIUp+XPhSY - J3bl5I7zKuKfr0C47pYU7Fk2QLPbKrlIipbIc894XjODWEVnr2Z5v7yHBvFYaf76p9vtCE4vJ6Vf - phr50uPzRefZjdWf+PQbrk7laldcec3lQRleNCHg7kRLmfyKK8flBEiq2qC5mrQc9Hwp5mzBie2G - q6kkhHaWl9+j8UA42VYuVyR0SbVjH2y6jMiV1+h0PTP7KCKTJ4XZR/G9qvRdTJwUcxn+/KSlZn/P - 5CUyozoSTz1Fv5CZL0YbtvFFdXr7QqZesUmiLS/pB5lazZxPkHn/0/3eUh8kU2SWQPUhMvN1LNBC - 58UykIa01dSumGL7ZvVV7PqmiitmVPXIjJ1EMnfiAk1tvBSjG7RDQ0vX1wijQSZZBkhjMXdb+L8I - IG8AU8/UIcwzc6syRJI0HMvqPJz2BqMrH92Z8E39iNWysagbr9teGcYCu00239eTKEkej6kDpJGH - cLYBKsztbYTowgyfCy0i3p54uPB3ID/CW3bVzzeeX5bxQdYI9KzIjjgQLC+ym/eQe6CGoW8Akl9X - ds0xdEPYjjjQApAVot04B0OLVKFkAWgMdSrD85uCRQ0pUo4ZWHA0f4WpGxLIlerle0DACmvsOfqV - XM7Gig19jpK/dKDthKNEzMS7zClNwfE9IPaoM07/hMnqIwnE8JNj+GBWA+VLT2JpEWfCyBnq0iW4 - 5AYgeoFAJ91ho0buN8vRaunG/g6YkufMsTiwYeqcxTUupDtl72UZj5mo1QdINf9vfktq1QEtBTlM - xQErU4CzeWqgmTEuyKUEYznylao3fEQCQV0iDzvFTmfq0CKPqY4fpxHeiGOyFe0c/jNpdwTt9lbJ - OQRYyQ5I6xJf1Aga8YPODoRbckd4ptKivNn1ynvn066HWxEdshXRrVkBMKRaIefk11WeR47EsmE9 - QmzHNZSsnWOMiFZBJ85cPGmrn2vvEHxlahV0cKS4ur9pSyCPU+aqlns9TqRz6yOnr1zsjpyGdszq - 257F3qjr7VJNc7dhDLGDnUJTs2Ac/ZtqpSuET8awM1w5bYKJcjlkErwZp8Fy1UnZjmJc4EadiNwn - 9GVj5qAbtNHYxD967XEHtq7ppU6zQbkFm/NyiKFNJSp8uODyMdk4AFgDgLbv0fGan44ojfCgOd64 - iKhhLCLXO6Bv4+Twpy9j7FPejD9VpN4MAN8En6Pf1Ot+U8D/CXZlreXs4fBSo2Y0BnHl1Q/l5v7a - Xs4IJ8bhdx5Kmq7yMcrwdl7MbEq/U40x5qBrAHo3FVgdPKnz8X9xHr8RCKOFoQZ3SfdXPOiJNtKL - GdtTJ9bkjUZiTMZMBdAbUVFuDRxC66QCLfzObguHN7woD9YZ9oDCxMABz2Tif/oKxnu8Pjt0xtSp - i//fxvcPYe8faXlz0OUtwS0+MRdmctOZcViZfJz2O/YeYtGLFA3pdBABZi8IENKQDSUbp37gLkVR - YOHi96R2oDPbaBmnV6zEyU+dV7C6bW8DoZEf+Fb5XuvcykyMSxmGL5/0lgymz0nvGvZ2n/sI1gQ/ - ijXZGS1qiVYoE8w4W/HNTDNfJos708wn2LxpZkirjVBVLKzANqTC6FoODDXm19wJ4tS/tpxEnUlY - iq3qqfB/3cGS2NjX5tanDxq6Yf3SXvS0d1h86Q8n3kSFIZp0YtIHprWt0Ra9dTQsGpv0RODf0djk - s42tmDlv5l/hSQwtljXxLbCVkOp42Nmid4yWvAAbXAnXYAs5jd3cfMasejUFVB+MpflQ0PYyBymA - s1RsiYSXZHYjTFTj295m68Fdjht0JltvTiLc1vBe18mD4gx0t0hrYBadanmwrGZ1GYLh65j6GaYZ - oyTypIjfAbqEHx6gCF+7caUU1M0fk7P0IJPrvBlXRp+VQLqMLOk4D+RAN5pWZtjYCIdeoM19dpBB - HLM1ac9qTNpJk/4L2UHpZM0aaEaon0aWcKjO3iK4mZy4Aqbol3WmxyW9fmWLS58eV4pszLz0i57b - gYizJc8Mbu9c38Q3OeBlk0NvPpvdtCQMFaCcvGYwecQl8fc30g5xLeAQrXG3cDZZXcxuOQDadjho - G1yjMquH5oP+hoeuepPLN6RCJIZJVFc8hZsroIZrNStR/KWzEv10d0t5sx6Q5zYOHyBv+qwr7JTy - KD4rNvPKsiIMlEbsYDZqa9FnxYq/uwXpVnDUOQNLOyWBasTfho8kk0vJ4k6SwCaV0uCsLZzqcSjl - 2UkyPlhm23BOYRZKWcm1QYlZ1gs5V0aVfjAJNqIZlmAjJvlbePvsFa6gDTbzksr44hmLdoY22XJP - ko+BTbqMRPfyaXRYg2Hcls+fJO9JEWLcRlHEdgEQNFuohfYIWWh/4CuWTCSzmkhmbSOZjzycX9+0 - 3eLgjGJZ9HT1XQ6QVnUJRQRXqI9rZYKrYe4vbWYumclfBBzSBP4W0vJnJ5P5eDIpD3iLZZLfYZmo - xxz78HpzkAzV/3SFOh7qgtRb38cOdgy7dK2aavddOHHJyxIN7KKIZ8ayCV6O3FYwSlPCyGe4i3Ky - 9oZpIpNeidJYP1t+eN0HYAnR5mUsk69jmWHJ6kD5vG//yhPlU/3w0SNllivm/cTkeTJ57wpX3vuT - 9Frs7jWthQXZQ4/YQw8N9NgPKtltBYa+L+T9QvyUMtTE8mlI6Nd3FMx36WJwmeeoLfLYKWTL/9EW - kE3iObeJ54xnwOMz2gLMbnHpkozj9Kzyw++Ol1SB1g3PK9chdNJ1C7yBG9MvAR78C8Bb707TF75O - l/we8IraZ32Zo+Dxhnklgb3xaKQ8yUl5hjNKzd5hwAMOu1bX6bICtkPKOxL9B3AhGcARaFwBjqCt - HHFTOoIzwBGf6LHCdI2ai6cQ4xhwVMUgWRFAZWnk4stY4pFoCTikX7qOA/w04Mr/gJ/Zf0Ox6voJ - NF8GSBB46IGHXhQDPZRVyCBiSkNFpMjSSPkpXfXTSoAOeuaUSdZGKWiOLfRuZ+b21xXMKbOVKodW - qXxTE48mKXhEr4z6iOMilitB0An6igntobDAV7IEza/yP2Egp/tr4PsvAAAA///MXVmO4zgMPVEM - UqQW5hR1kEb/9f0HkpzElCwy7oEH81kfVUiBeBGXt2jw0b3zHe4OzAbyEJqPWVitv1bIo2YJZDeZ - GBryYDyGhy4dP8of1Zcl4bT7IrdetgSr7gEnlyTAZQx97DKdT9FCOjokUV2o/HvfDtN9BTfwFipY - AcdwcQtWP/2qT6kl+5lLVvP9jNPOfh45iuY0FT2en3aCeBqCPfVqWbXHu3F5S3cAtd4RwlGt2kb0 - ePcxFXzWEO2Oc3jpmNrYGe5c8Abe6NE6s2E18kKaTjw+8tDN1Z3u4RCWyEukY8x2J6h3u5K2PR7s - vn4lbpIcMQg35Y5cJMfWP+0Bb7z2YLbSHmofYjKHuJzGXFFygRfFKloHXtbA02nIQKyAFzqF9n8A - PKieyNdKVz/+Ph8UyALZBF6a5wMbd2FahPm4E/fFE/z+xUuiDwjQHT/euOtsmZv6lIrq6Ouv4Ml5 - 1V0aI8JRgGWCL03T+Wg0RkWDr5imjpzDGfii55myhwHY4Asae6K2YW/G0UseAnkw5lQif3tCSF9P - CN9touXJ59h7lC1nFFoAcF9FxxJqqpANwOHlwzRbbuiNWB4TO4ZMeZGzmwKCh8EpFlkd8jQG8yAe - h3iMy8HmF1tuhCF2wZOFwtZyBnjCNRS2KzpLTdhlDGijMDo7siCa8MDDOYi0rIDjqeqYqbhvoCSr - eOOg3m3mdQGDGtSJUritfOCb/LW3D8rKsHH59hH3prP6ywRn2hvDORCn3RiNy+hiPn60iOqMHvYm - pxTlQD5gT7QnLiRivZemHk54W98Jnc7oDw3x8mJaXWNt9E0EiIlDq/tPZvsJ5PN7ULHuQV3fGKzi - jfvpR9uS6Q6mB0J/LkIBx8xcIPUIslpRMx5vQvjtI8j4jeofeBkon7eSIua/Pwu9kTg8gpCdRxAm - 85sBiPHUBY48HE5qVuMNLENaFUQ+RnNA3mKhfOMbCJvnBEBNRi4r6//lXTZv7WvUW5n9zKWrgt7R - CgA1JWLMG9OBY9xtaWcLnOC9gT0q3sYh6TeQsu5Fc9acCEx3zu87ccL9GqV00eu2fnJxDRhf4JvI - EMEeAYEc7HUnkJlK5nWghUf9D8Q1+iRp9AkcjaeBttBjBG9CH6DnXlRPRfRkuki0rR99FZ7yAt3E - Q0rj0lMfiNLIZydlO8WIZ362RdjFXJmGhjRhTr99HDXmBNVxNgX6D5aeKfvAC1WUQBf7zxTscW8I - 1qibEQtsUpw1J8UiV29CDWrBqpuGmkQt+gE5Llyk2pZyvr9m5361v//8+nWF7lc2aiYbfbyzO8wy - vm2JTYptHlX/KPqLsZzy2cuw4uQZZyFM81026H6PxsvVrKMunfzQbGMudo+ZsyLa5iPRNl+qXM5f - 8m1h0WjyRitlcv1P/IPsC34D/0imoAWNPt7My/qeGTBpyx3wzRog5RA2gE90/BuGI29TeMMCd573 - ZE+csy6zjRMB8cmXLkRCmwRPMPmC4kT/m1TKet8p47GBoq7cuYM7ma4AH/u9ZfEeb/OwDxJTIl1B - TUcS1AZ99VdyXKlL9p9eVZSv1SVfzXrLddnDpABK101K4kDZWJo1CA7ykmKe2AXGYKlp0DvbuBTv - 0NfXzIrZsoBgjXjReQrIR8v2IlsqmW7sNPMW2OYBVg1lv9FemhOKVHez6sFXSsHCNgJHyTIUMxNj - CgQbV2Wn1PfXNGjsW4iMynX8qWh3yHpORxalWQZJY7Q7qkCMDZJSd6WjjDL9AwAA//+0XVuOM60O - XNG0sI0x5PVs4Nv/an4Rumd8oRsinTxGk2iSOAW+lKs2e2bny5YIvPU1+WmHVJn7LfYPMdqe1B1G - n/AHjhFYo1SmAWDlRbVXplJGC1fpNjpeJop4D0CReq9xWrlT3Kq1dze2mXWYR17i7FmZuZ0Plii8 - XrQaGXVfmvkJSketbW4p3R1LZSXYceLQxw+CxVCyu8wEz0lpodkBKn70BzEpDcZfKfjypWKMM1Oz - g3cQFCMfMMTiLRQ1EkkDkRQOd62iDtpMRQFve54J5szc/l2PnudbsKM9w5D9RvNjx7PCYDXe4zDX - KeNlcQ9yaU/kaotDANsvg8b6Iuy7b18U+hZ5Dl49j1CqH1btfZv8GXL+6gt2ew5zce3LJS1TvVOs - ssRcDulnJMO/k5E/gWhAm70MktMv5riQLwSthACb3WZWZlBWX/gRdgw7y82IdwO/7h9dhiP9BHdc - tnHnKLlSgnKm1u0ogQx/8pGuSA6+c3Roawvc5eZ7nVDuccdiNDMRtAum9D2R+vUGjPD42S+E9t9G - pvSplMdb+LS0bvWK+IhFT6k+quvJiIViDc5sdWM5HXnZ+uQSbr/QkqmG+gKjIf0XRrSJaP3esKiP - Vde2evSe2H6omVMH9iBTYoBn7DnRnJC7sNZoF4xXnk1daGpaumq/RD8941fqoFfZCh5xrlatqn0d - eXU56KP01tCsHwoeCR7UOzB7wPOqjPgoyhjZnmRjNy3/cij/Yv1XggRqyDqbacDASHKUho42dupv - NWV3A6KSHEDt1Y5KRAeHCMiWCirkzfuP8NagC0fpOxFnHL5Nj9Z5Fwad10WRYG2ptRllRXiBqdPF - Ra24B+FYOzFBvK//ENz9V3XeWeTovfzvasaVvCNCzO3FHw37+nv/WwuDxx6oDx3GqR8ZCMapn40d - 8pQjkdvq6pOwFhbEByBZCFZrzIWtGBXiMn4P31Mhrm19/eW+wo78mQpxQeUzQ8/Qc7qoeMjD9Vco - jv5s7jkV+2BYIA/I5y3BGTgpBekuhiamf0aaKdjfJaT2TfDBSrCxp535xenDsq+/9a1j81+MHYWx - LQg/C+5bZ0P6a1CZvjWsLIJSC/1PlAcF8J+3vUa1MqkZjeT+yFO/5hC03sfMp6la/khx85kn0RHn - /S3CrAFQE3S5eZnGYuRaKE01I9oi46wtFHsYhG1RNOS4mYyFSlIZC7eDWv4mM4nLYEv+/y88bkdp - K5OLC3TBZaY8mYlSNOF2ucp0ta96xY8w84PIrqYguo+m6YK5slUD17KNdJSafco5dPh/fS6EtdGF - aKOLgrvAK7g59bsRuupZJxQuc/QVGQKcnSbIz1mnN7vI/uojk7sweyCKWCCmPEs7YYXEUPpRVE1i - DURJJo456R0/5oNakW8CMR+w03Nh/lCtuH/Dz9jzhmphwQiMn5onV2fbZknTNgs1l63UgL1YKFAJ - Dk9myIDVlnt5VA+/fmrEDQL2tMVT1g5PWdmpEX9Qtef1ksOQIYDbmq97evPcVO0dnqvp8nwJOvOL - niDyA1uQIbgbFqs23WbYa/jsp1BL4FZH5dti8k4RsWa+RbXLGI6ca7NTPxJr+VSN5VPVjk/1g1Be - r12OjfiOaV2OVhpPh38MZzB30lAfy+Np2Z0nrk82kFMTmuqd0jHeiDksbAafymHWrExi7dZmNk0Y - PoCkOVSy8RsFNfvjM6U8cdk+CuYBOwZQ3Xwt3Q7iabBYJ7ajq5TUmWPkEiQfsWo4ZgkCWNUKK9U6 - G0GUxc5tDapKObTRqkGj5VvnplPS3N2p4KvGh6ciwKKGxxfJi/Ej40M5imzy0Hz4OEQPSIy7dnp2 - Pmxpuqx5pa7KLiNgUIJpZQ43o2XCuEKex3n76699JrEagmINtsGY/oI2/W0fQbDtyGMxvPB+Gtgy - Tc/TcpxmGI2pSH5uyTj1kEwTt3Rj/fvbofkFo41nLXMnS5fneDnPOibrJphhmtRMiViaKeqZdE80 - 09EKmhIR7e2YaRjrXYkO6Uzn/NvaOZaOjb52evU0Z36Y8iH1Rkq3f9d/wj31cQ3JB3Jg8DaM4slp - rdgo5unNiOwOVYo3Y6ueWMgYXO81KL0NN+tzVfp+vF+IV9N50eeqqHO1WDfSexeicYAtr0OEV8Zb - LNLgp88s77e52eAERajFs9VcjGnlijKkYqMVkctUvZO6NGjLENoOKdvchkW0g3MvfwQtFlkbEeVT - suzCYjLpTTq2VD7z6XS2zFJzulOmKEeVoccQwZg2zEl/wei4TYHaZNLUGsa8IZCNpnD0nlLhjjyl - 70wogz2pHdJnYYtHQzU8MDmyNliydjX6FFXrU8j4Pe+4OGyBkroM4U3HtDduGsCcbXjsLweCExqh - cjxhkiSO7K3g9SCwLlV3fbYqhUIgQ9fbtlBNFAvo7RcqnbXw9TUzWjdv+Jzbf2bw1lPMRwC6qLXR - 4LgDYAuDJpekCs2CxgjLxSUc8DF+pcGgu5nWKaMViCmkGRftyM2qov0Mj5ozdM14ujXdOG3bCpJt - S0GSXtgb4Lf4y3U+rm9Dj3AvQXUSI0QBf7pvSnFmCDazKdMVNKzpma8tg7pk4hjuxGxG9mSaN4WN - zzodzCK2efNr9jKgo8/R6+HZAc9W6efe7DlvCf3QuwPe7qwekszt+fqXvT3K8DI/YYGpVqM0sqob - S5024XyCmuOVODwRdSTFt24wWUSOXsFfLAXNqvXRxE6jfk4/u4tCannbhrh9ruJuqY6st3bfZSPe - duHeqOSbFYr3x/g1FH7eoXDSIxRFlZvWdaV0PLJosNCMiQElu2kwV4/LgTqDy3AvMhpCG5pctTQ9 - 0eifpFKzuarOb04F2wuX2usIz7N3DUu42eX19X96Ed2g8rYDR+8SqvfGWxLKz1WjVwDCwOxuxajf - hRGjQ+Wc183iiN0t1I1EGGDpM1W0Y/1CZCIpY3T1q4PXb04PS205TKbouB6euESzUfGghzdSi2X9 - mOCV7utHSPPl3v4hFv1Upz+CEqAI2dCi5Hg+WUctN6n9XbJDHoulBG5+OFnBTDggW2KGIKu6sX8U - 8T0c0E1xPOl5FzexHqTYicXCcZWtohyZdkLJ7YV048/CWHAKy/6178PSXZZ5/DR1j9yyvLPHZRZ7 - wHKdVpDkeYrOfeDdMw26eNVnsIiG7FaqzX2EkgZmPnIDccAUvXsPbDqt18MTmtl6Nz5dmedT1/6N - eJf/vDuto/iK6MxDKm/rynSSJZjjEg1oBhXm4FiWwcaUp6sXrbociP0oshD4YlKCtbuABqoJ5xh0 - XCjNB5NF6VtwXKE0m4MW+cTZQGne5jAOMYI1POXupC1HSWNYFOGZD3nv4mcUafy8gegFgzhscItx - L45SzeAGkUxTOkc04ykenudwX8eyhXQWzRREEA2lX7Lex4dycOHq4NkUOEcL5MLmeHRC85yJ7EBz - pSP7C838wvuLk7HML85y8DuepS8wpOca08mcIASWnOX2Dw68lvBK1h6XpyvBSF5EHT0yeUgbPmZB - ILrNk8b/+gum7rwiHNbpBUcJcQETNNUDR3J3wnL8ab1Xg5tFSUovmnOs4PR8iJjsWwNtI4b/Ygyh - Blq/kSKFGoj9kG2nLk+75wBeSDZembkEJbYWclmrxCbM9oglRQ/vb9YR/H/61oa+MZspMZsuMet2 - 3+d66tqEtb0w34KylnnDoH+OtJMD/e/9FBvQSQ/PMLCgRYdPi8r5TKv4pVP2vR/m4umrFR6a6F2z - xnoNSmWt0N36KKHaG7OZWKr2K5phyPm3nVi2nYV97oYiN83X3nAY/owxku2xLvkX44cQcljQ4UMI - zi9dYs7EL087d8WlsIJhZYoHD0BFEBIHQBqZNnELG5J1/+56txqPOoHtx6dOeeAcaIyzNR2bnsjn - M9cdH3pxvS8uGabr+v1D7MPRna9/AqX/AQAA///UXVlyGzkMPVFYBEASoE6R+59mimpZwsJuUjNW - PMmfK7tZT9jecqIBDy7d/qg1F54OjagXgXcPSAgBMRL0N6JjmTqJOYdw1xGEwAktGpv+aGXzlvCY - OZ8dD+9+uPIOV6DeAw/aGSDL4Z0VAflwLM2Vh5rvmsPj3hIpmknZQSTS6Gz7Ot3eCbuFQaiTtXkW - HQQDDSxm5yNH2KQaLd0sAh6WZl9Adl9A+im/vtreF3z97hW9vMDZvfnX2Bj2uah/DEZXiMQcphDH - hWwGjzXhpf0zlqk6ABo602D23J3Cva42BBaO4pit3LWkaozBvfeLiRJqsusB0duBbUDWRLuAnH+6 - jgrGeTpQjj88b+57/FNiCywss05HnjAG0CKy9Cn1g1faxobkS2WId0XrtMhW6tG6PjXjUQc+emfG - datzF/dTOTNYPFM38oNLt/pUvePRVUiKFZLMCEKrCjmV9wNRCMf2gAzU1gkedb8qUNn1q/rARb48 - st2imyX6a4Z8/NRG9l3irSMl3fL8rgUlQWvzHR2tEtT8w1GePJw9ZvXqM9Ts6EgnrU2DFfoOpo9G - X1AW4/2ooSZHtMfJqo+T9FzvfJbpQcuL1hGI0N6016AH7eqLrHOJQG+NAhPaB9src63XRXFusYHZ - LwF8i1oyyhKDLDrVorrOhs3S/PF/Ud+vrs+SYAeOry8fQASr3LmqibCl2sk3kLOQ+iHO5DpfAMBq - bPRvSJicy2LtemykEsDY3BOefIw2ogUYmXxfA0G26sDY2BMhu9rjUEnE/HG7FHrMJGs0ytkH6hka - y9g67RltoPNLCUmivRhTfc8r/4LqE4nTWEpBz0j2xZBaiMeTSEgmna8m9hG5aMOwnnp2uxtjlmmp - rJAVrRwOL9c9rseeSAdvMB8tRlRP6XjC9Mi7p0j/isR+yiAzZlAPe9UirjWd+i3WpeGUZPTTInmq - BxohZC2WSVdEn5dJEkHvH7OcIkmd1wkJMPzC8C0NOcmKFYDOKkXSJSdAvM2362dwSpoD9k4p7CkB - RMFmOJwzWtPYQ6tdZSTNPh5O5xZ7ZgsuR/F6ko/V0k22S6DsiXMK3/DkoDFSSedDvTyUVgwknS+l - jv4JC4ShEFE/YsHYzdgFKsyHQlwljApnj7wSkWdujMXFq1E1GuTHP/VjWjlKmT4CvYIJefOuiM4z - hb2EvJGR5Hg1B9jPzXkukHBZ3BSxB6M+5gud3NjLWRC2DkVLcgiqizZ8RS7ef0HTmhxWAoDKuwKA - yjv1D/iMITfWYTS3a+chOdoR5fyOb1hqOGNUo4+T0I/aAHvE6aV/tZbpKN0Xv3DBaEZXhWgHCjy8 - iF+CVTg+1j/biy6T8nK7K8fb2dL7DIgtXQeLojNPafH+REaouljGHIvoeA72YwQUj79WfAPKYRQs - XeMvi9iRvjatU0X32Vm0RDVrharWw73zbG2HoJqHWfvJGZgTFJQ616duejf8jo84vBku0FcpaMUd - +lqeElRX6GPw03yof4qV8dgNvPKZQW1kBhsrfy6Xa3yHVjQpGFcJzGc3wzPHFFwcJLzHTQRcse4M - oeBZqcartbNEVHIHe/IHe6RaF88FpAFXanVqKd2t1EToNmhinBmqNmZoShNe39KEty0ezSC4zSse - JznoQxNXBjoUb3U4ncoCcu4ZWyAqWsxJONx7zE39GfIKc4ddyKW7/hXo1PvxdyBuaXeT00ZICdzw - 3Vz0yps0qIFB549SLtVSZbL+dEUvzwY/qbSgzOBBWzOyjMAwRQPBw4lKbc6MZ1E9PIrV96oZMb/G - YFEtZ0nvWRbxpkvt2daljb0tzi2LjE/0NQbdMz7uBhqCYJ0yFxDkadm7tlo8/gb1hP8KfO2z5a4t - nInkVz46lXbLb3myt3cGveLNMeXqfhSZh44+ClMFRvNplNWLhEHQb1taIKqBRh3VxtZEQ0f4UpLs - bRabBl3WoMvKoW8rUqbsNJl0w3LWqACnVniughqmk+MHN6gC5Rptzpc28LlNwWux4NkUe5QpkyL/ - CbTxZ5vLmvqiyA07vrswOL/rA70wjsLqzTC9/3oRgzI/z6Fbhk0FpNJcc4l+nIOWfWmrwXYoG5Ad - JErlHGUUh+O04SgST7n5yz326YRZFMwQth1ot84J4yCUz5gupc41apS0A/RineJtanIYEppmurx0 - FK7wPV4x/xDO+LNVjWEVeDAILcNT6Cxs6zzwAMfua5n+egecDzxgurRbj+mv9hB73LvjFQEWFzwo - 2Y9zNZQ19WhozfJLRZN24KMKMWuGYBITdiA67aBtpx20LVeoXM6y7iQVEJnzAodh1KYqwj8h12B9 - yQZuURVhS9uP4e2PjHDfFLHMnGDLT2+ArPlMA7rONKCwNBEHsqm9DF4Gaw2bWVrbrxmQFetmCVp7 - Pf4X2a1MdKYWHu40r0iRolCGe8KjRSboF8aw36icYIzpcMiaYIzqfV/Sa+5VrjHmXlCyb0zMrCYU - nC3srPZTEJNvKWlXN528oBY9m0d4M4RC4JitlzGud8D5LLveLgAH6X5wPlfLQ5vdVIsHXOBoQtyQ - lGDFLZqWgoA2xYCl6fQsn8NkI3yyKWtZl7WMmwlauOUB3G5Qz05y5Tg5TQCXtVHeAnDOXa1dn+Qk - ZvhUlwMzVd/+EdD9TXVNxnJrx49ywMw7ixwh6ucwE6+o3YFZ67KAWe4lON6H6Amu6qngcDB9wawY - V5FB4HCVzSgTEhedFsmK/XV8saZDP37TfwDaeKj58Q0Sw27mi3/DDtdA67gC2rFd+gmgdfyLgNZH - FOL1MsQ7hCRy8CI0flohxtOXsWkaTyde9I1ZQuMYeAlHJu4TX83GsRKgCYEsfjyz8Komi1VHse5h - q+4c2YbCOb+7coRU2j60HDm2BnKXhRan/n9sGvvfVL96W8LKO3t4sivabNWVCgumcUngqa5h45Gj - tTnhRVbE2JG4aNUjX+eJKvSo0pi6d4pPUN3h+YUq5CWs/gEAAP//1F1LjiO5DrzL7DtBihRFeTsX - mPuf5kEpuyxSv0zgJbp7WXC74TIrkr9gRPOmC7iaSNOjFgNvGeMqxMu1oQ8gQLe9NgPGz8Lzj5sw - nn9Kfw20yqk+l2fauwVbg8znrs6OBS3MwBWHKhcm+TsfQJDeB7CrDGPLTcZgLRyjhhZiENOTTkiw - Wb3kz0w43zzqKN/vVf+VLnawmSiWK44/MnOd5yV/Eb5kS/l3ghtwKHlVqlZfrIgirEvCPJQX8wbF - 1AErStgabMZ2lohVqPuLLKN4XMivbpQY2jhlagOVuYlUpluhynzpnD/PXKaRi+TksDgsn+X6Qtpr - 3yB0tEcjfVNujf9IkOFflcSwyEvCZ8Cxnm84DQ3oKB9gsKbo5xuOZzV2wcl5JfAPxV0i7ZyIgdsk - BtWf44u1ltpff4sWadgGSw3SlJpw6SW11M+btvJS6cUymyGGlHQMMa26/rnYlzCvC0WvZ4PSJTLT - gX32LPPhhsb422D2V+Wyos23whaBz2RpMTqEI22wFYZufWlTHrLvwAJ2wGo7MNBkCIyYObXISo+x - BaDKFW38hbkQqe6RcspXWxGlCinDsjT0UTv5NktEhd4k2kEq599FpMLw9DoMMR9puVGRX3Aae4PO - nPhmCAt4nLNbSBIy5TXYfCITN/NIyaKNvb9Jcuf2owW0bIxpgbzwBWDXjRnOPqRk5oiYkikaBaM8 - /0SMlyz5gGb5bIo8uU6q8iHEENesKgzq9y0WeFzr898DvPQ48N5jrdUiOp36++FF91rpUDYvnHNK - iKhhCTz0We68dzCKpQZ4cS29H4a7lQDe2aQjNELttgz0Ou4HtSsykGxTnbEyff8i7XfVUvXfL/9E - MKYmhPFiGRmvCQbJzNf7VBQfu+6V89fz2QmBlFGXUno+iEhdI2BzHtG6ivxtnRo9y2hE4kuiJPQi - nLmXzEBHWGVly11FisNHZQTE9G8R8vJFSu6M2I0sCfWbM2voNQoYQtiYQefcKVhCW17W//dHFAGt - 0QUQtJPHcv/m3LzIGpf+/Bo/Ml1WH+jz44Uw4iW/i6r3PC5awpFReKxMUuBzuuxVfuo0lP/1oSwV - wEqQ9M1Am6tYRoBR6cIJdkJB73HWNJrnP0EjTQJo5WWBQNpHKFqL9v9zv4C6RyKeJH66V7VU5woA - Lt8ab6DYVy1erstiMST/7LwARWZYV545iz/PhjCHYrKjSqBkPGfk4Cj0ZPUSaKtaSac+Sbi7Byg6 - IGf85l3DF3y+a0BPWzXyTlDZmnPwseJoehIhe3WLAfokrgJY0acWfck9UFtx5zKAVu/FDmhqmGBG - YaEdhYVwq4MI4dJETKdW0HKQhjwZiYV3G1EsyxLHJSDF50bwGvqufw/+xsbikSkNrw5D3CEyhuuI - TMGKJQBLq11ZLBAE+cHCJmwVLvDUWYdZMbro4s870MU4+geP4pNh0HUypDUcJQ5Dl3mbChW3YLRu - QVA5620ATSMfsvCje1XC/fP01EvAeC8b1iFzaadUcfFAPcHXz6OXyRBTJ3Xh0IdDeyChvEMfdeij - Ofo0mlYQWqWS8iFDSvxoMx8PlL3UE5QpGoV/bs6p84bT8MWfz4cUl/sgkjX+OI26+YQ7AVlAWEav - 4o8t/qzaE0SLP6puJk/VorSTvagzUJ45PU/RR1JZQywU43gW84M+z1ZGXLeFb2njKfhIx9olsO4l - Cvq661LgKfqUwXYRYqrRYtdYi6PH4Ae6u78Pp+pFvDsBLR8+xCXmks95TMs9Ea9dDLiu7vslrMgW - dN3dPXAHOluBOu9KEDXbIubED4KO85WUx/QKN0HHXFNeSqwCvAad5xL12qJWIraTqXSgkzzUNwTQ - Dej0DuYyW8wptFYioB+/lYfqTdTtIA3iefkWZ45bU5JROvLVgjP5hBfX4OuUZijaamVI4ksSttiL - nsbXWftUaZkv9hhsx1AdgZvxdcyPFpxbga46CIVXxHvoi2+OEUqMtG72OqJsWGc8YE8x8hlvODxD - 3kGPu+ZdptjLlXr/jVw2vlpAxbDqwV6vHLSnPfbCi/lms1A++ym8daXYVJ/4JK6bPcmeIWFbBZCh - KCV79BH38MthFb8KP5v6KmepCaJb3AqRH76wGb5IbMMosYnjLcffC8SJukfSF+ps+MKJNUx2uFLJ - E6IqOa2noY5Ym7Vb4Ro85tx5ijo8DhsIzrjDI3jei9HOc3jM1scHkRo2WSGv5fzkMDTHrVbzCUfi - 2fRsdiqiRz7FnzJr4BDWcNxRAWlJBURSS3oZOzVv1J+qhV1cxa5ylmzvV/dGTQCjwaKC9Fg0lEA0 - lEBsKYF4C4qKl44e+RXHO4lffCSIOqMG1pUuYg6Qw3oU49i3+S0qOoVi3GRGGQo3R91BMfWVjU6g - iGVqZnfy1Drc5aI+96DWfdbtSh6kTEGBZ3IMMyTyse4CO9p7d8/veBS5s9UOtpDBUbgIUvAATD0C - Na5CVneFBoCJ0IbNrAFzom4RISYXZpMLs7Tsd77Hfr+qPzrPhcTIMqG/y5ZJ+AWgO/DPm1wIu1wY - YXjKIGm3ifBtPc7xVy3svoGMzSQml58BH8yEKm+zg53nC8uLb41BtdAU41pc4wtGf9qFHoxgDhfq - zn4BxjQkxsfst7pROndJoO70v1vKR6OYDprYxlBbF+YD7SytvKO17a1s1p87Smyvk/FOXYqXrNGL - TegLx6KWv4pDoMLYEe1A2enJfqCIjtSrb7ulGRRVNrmQhyOaKH4u2hFmalMwVQO2YESKjhuam8eq - xjc7pqHLtA9Vja2Xtkojufd+aZsPP2/a3hKFF47RyAcjjKsZjeuU6IOGB+U1CtmXpNY4pIghDU0L - Ensp7tx5L0N1Ll/qONf+8weHCFZcCpWM0g3X+VwLxPZQBQ8yB83UuIPWl64DkfSqKDfNgFh2ARMt - jv1J2BeI0atMxSUQO0UVD8QhTzvobj8Ru6IUeY7DJOwsKJqiVPEgyk9uB99+RFuuDE29fOaKU2GD - wbjTv7F22Yfo0v2c4pCdJlndcBuFtcdgz67vFhTJDEmxmjo3d2IhWBmc7JMhcotBaW1B2yEN1guD - 6xiUeBGDkw3hr3RoqAJ3Awy+hzQxgbLIEoOO7Js6nWBpIZiS3xFaZQHioeRK2rWFLF1VKlMEBrT9 - RSBpJqZJjpzz44djia6NaYBedGtqWj5//N65LGtTHz2sjeAUkaEzJMRsw4ejdaEye0Bm6fAYNW0p - 92pYMshWqTtw29+Hj3ycwaMxCDWdIrad4vul64C0neL/AAAA///UXVtyJDcOPNFUEAAJkDqFD+LY - v73/BptVajxYLLbXmvX6T25J0S1MFl6JzFVSnNc2v+oBnZE2B2RrY1bTCrGsk6IzJxQ83AmFPngX - DNZM2UaUytTmDrzFlnc7aMR5dbzkIOkmNcjaI1TwELB8NTpIPVkFxzj/8tc6vzwdts6vdnLj9YPr - OMJXKXc04HxU4PkVheBDjQpeXHhJmMFRiBk5b1vP0NRXq1TPmEHBgEZuQQlkoX36QpaTAhEWo35a - MzowIhiVYQItx0ha/5RgT46R8o6kd6YvkDsUZsi3AqhcdlHojApZPAqtMjvXaNJkJ+AoNOWN+uI0 - 4BBzuIa/bxJxCPm9hciSPtjleuSKYM0mqz6qOD/n5bUlqk08v3h2r5BjS8Q2l7sL0K4GTfM+v38C - fJAh/oYjehliaevkWHGdHTFPy1Xyg5sa1xjV+7xGTQNIBo+YwErKEWk41qEIbuBYDRzFyBGLhqN8 - MkXFHe3Gc4p6M7lpRz6NOieorEMlNUvJ0mCNSmdqQb5YNQKBnIOpRTb3hTRXMvPVahAIbCOZmWgG - fgZoWDZr2ktZHxf29wm2YkV7X3iaal6wJO2BR5umMs9u9i9YFrrzAaJ+Qju3S+B84JOK6huW3liG - FkkyugD5JDlXUYXcPCkYW0BlCzUOBlM1sKgke+NERSs90jWD0LA0vhdEt74XW/7LB+0kyARf1O4S - JPX/5qYXNDxEF1oj31D0TpQpKp4Zg5kUhQXBCiMknlWqHKzxghllbUyPqmfICo80bBveUawGjy9n - dnTlqoZjMllyKCqecDz/DhvF6vWtzw4m7S6apfu24/S5yulZsP8bkuRtaNoSku0BkmmqsgWledYp - QlxxQCSeUnDGQDSgFJcrGxlQtrBwzNZoLYkxfZIb16dHY9ijbt090Z3d4S+ALhx24/7UhtOM9Kds - kTU6nd9hmOqctpSn3SE/g3O6bYSExT1li99yVAlzOopyTqTRObyD3j4MSNprlLttdLPZUoezFCP+ - WU4RpNO/slj5zwU+y5Zh7AueNxI0/Ywj03Qk0D9F2p3yuGjmI7ABsnFA5Cd8Es0lXMUVshDYAGP0 - ZoIZjKIsM5Ug2WgSk3ZBZERx6DR+bLlpbOambBDz5pM2b91341fhu6lAB2YdJIq/ZIL4DcwcvH/r - CpgYyh+nE1qnarwF/YggKBp2JruPZBjXlWZgaY8SM7NxACZwJawYVIKpfQoeb7uG67Vnr7bzp/6b - jMmQi9x4AT+6I35D0scxjnpQrC9wONQwmMQmMD/19hQdjpgswck5enGbZSSVbDFZE2lv4Izgl5HG - mtQsk609MG5i8vzO523yrWxexyS1V/n9l8yB35h0j9caZj3GYDZcbLhciW2uuYDwwMyp1DzTKoeh - nZg6NtvCpyQ9ds31KKOo/qldZH42eH7p9yLf4fFmCdLfujrbX6dHb3UZG0r9TOVg0S3gwjdrKCsy - rCZ137sJE76QG4thyuVkOAEFiwofdxMXP+Mxz1Q27BzW7By27JxVG7JFzMG+T15VrQ3mk4FxAbCX - HJ36Sc4eiGj4ADlPXGftU7VOJ3YioREJWAR+DKYeoPcMViwWdSz7WwVL8HD5MY9blKvQKWNYeVY6 - oyHbAWQ+2tYEvdzp/fJRqpTpQ7X/8peQTS2ltLS85/CxlJggTVMpAZXJBXLef3D2U56QHjFFc9PQ - UDIbXBZn3M1NLSb7Z5HqgNlULMWsQkQTBcY54PaS+YCdhpLqHdXjVbemed0qn+RIp42STzrfbZKE - KMZgkTlc6kKSTL4F8e2ktDB7jdFMJkmijaW5r8rdRqKim73qlUhOxoc9aSP2tOfQcv3Q0+z1RZ67 - KVuRSpujEs5H7ELq/o1Kx7g6wsxOV62x0rHyfDL19IZEyd91hNErYrixKmH0KobJetYy34FksxGp - RyG72urZUjMgBzfiYkCOr04G5OCdPTMgD97qPuR2EVK7MghNB3a1p//3dnI9fXXSKCThnMPaswfD - AseGRJltmhtkV7KSF+sWDoTkUsK0TqNxbCTfUSTRszo5pFXHFDDDOpID9Az9dHc9x3Xni89z9OvH - Hh+tXap2Gst2VKT5cKf/ubcTpQtlC6ZJTe+0Why+OkzmKSYpVTdGz4HBgxw8iTksKavFJKOpYLlk - hcl21PG6ykcjQBeB5xyBXwyepIYCzVoT35/pHCw760kqX+kGldCHGdPytR2GuPMASrfYysFpScwc - PfvHa7GzHZ5ezWViT90JOTLczK1mdJ01YGiRLHqyQ/koQ11FZciiyDu9JldPVipjmHMi8hyn7xi6 - 57PmfSxe8avMMSndDKtNpzv9r729DwnCRaF6rVY65cmKjqeZsobTVQjrEGyB/8F+uQXNgPK8F3/H - sxmaa/fVs3c7XW/VSGueLmAXLK2wJtgN1yO1Do4tUk+5VQT/VQ/MbU4fgFNPbIvU48RVKIbVeKHR - cNYzWdMWsTdXkIldU0Ke1SND99tENc7simHYibnFEmMx+PoolhDSWTQKpOfZ0gXSk5J1gnTUpzsY - PRmmj0/bkr6Ib/JmwTQ/Huh/8O2pj5c3GoC7NWMNbjIeoVO1AAHvxgo5kHuIwvxV/AMXk2kwmc0o - XTAb8dsjZWw+bxrmKw3u/bf27fjyRCjujguAdlfQ9QvvwclpvrLsv/4VT6wMCdfZ04mvYI0TA92b - YPXgzMUGNE3Jk1k8naA2B04Wv+PiupjjwYHJ5E/J2qewfxAhsdA0JS3KoWKJTRVB50vbVK26s4Eu - XfcP76ranGDuBdr/4mtEuqyZl6IBkJ9K2XH4PtEbSz6ELfSXJOAfsNXP0tHKF1v5VClavLi/WQSf - NMkkzWJvJYtmwEK2LeZj0tyc4xX5Svd8dOa5cVf/7dtJ0wmzYAlHWqAZ6VgOf/6KttUsJU9rIXBP - 2hzqWqZwJiIYJnm6sgUuphQSAfWgfX0WBgtN0EFFG9SXFPIbnNkeGSwetFj2gEl8V9rWrp1wA8xy - yBqZXhiJg7oOosFmUKW+BkPfQZw+XJndvIDDkqTTsz0wfT2Llt4jbCd4wlpcp79XcKS78/LsQqYM - Ia8LmaIWlv1PsSWTxA/GNt/Uu3RLvWsH0NAqiYjkMTFoNTXksmbBOm0WxGPNaz6T/L1KIBZo0/GP - 9xvlQh6SyedKCeMf0YCEYsY/0lBpCvSPAuimscoYEUkT75D07AdPrsR2rqRji9Zc4AtvrBF7mpFp - PLsN1MMxpXcdbaF+FeN23uJE3abLPGXdifjnauTBZk7+WKSVgMlmMDnMHtSDVWtD9DeLRTwmdbZs - mkIATcvswDmcewZl26SD8OKUucHIKhGTrRvQdGY6irSyzpJOsQVT4BAYd0uM8h7gPKfydEECOWjs - QBJfwRYOCnQSSljJWurDDfJq0qqr/eNke/4zxGQvXBpCLI7lzwnLdHx0bJCOshvSdFPBpnxznN7/ - 6g+o9HGEYylDh+EkPaBydhBbiXxbiVF5p4wFs4oiBLUPJEPsqWiPuESSPuKCzsbMDpamFRmP2yuQ - mqSFTvDj/ooLnl1xvotXuYNlzlzn1Q4cpwTdRqr02i3Vj2RtS1LDM9atoXOebi3Zy/+Dm653bod4 - Gmxd7LvgJHG9AQlGFrIrsloJedC0yUtJ/Xq+1uPNJuivfdKK1C2m1oAk3ECSU+N5K9K74wdIunIn - v/5R6gt1DcgcVVmTHQzQNE92RbMn8mthL0QOIYhIZhZbh2ahaivNGVcfSlfL8UGjRnf+w7oAebHm - rv7D3FWu+o/87AgwJgPylfIdJiXDfAfdf33blN/BFJqRtLg2APaKA2BVPzDDdEwg6KkhUDwoc21h - ShDIBFKNWiuJhaVeX/bPMkY7CpZ2RqB1PntT8YZlsSOC1dhuj7O1giR8G8LMepF1kvQRRIlkEDMS - kMAjSGghObUZrsjuOFbCeoSHuJyGZFABQWoWktYbQIbE5AVJOYQEHCSLSZI86tP3UOD9cL1e2653 - eGfQM5RA6G7QIzSqt4hLOfBFKnjihrxwGcZ3S4oP5Hg0gs2GtZZptvSU5uzXI7mEG6AJLrUHYK3W - NaDqOU//KFBd+apVzvJo7i9YXrZ+1+hOtm7zIG/VPa9Y3gzT+6+ofDOyG2bE0JJQbmt8ukV0bEbQ - rbn87TpXG8jpaR5WaA9K5szNsbWCThZmsI1lK24ZDWbPlRh+XNyFcEt5MPVDA/hI+rN/gOHg8dxU - old3wSUxHTCsK4ndY1amehLoNQjY02HzqD4fAJk1IK0Bkh7YdSEGcrWrPq88P+eFxisW1/a5fVS9 - 4rOd8UiV+XbMg0cqNEdl/+27qHTRJAxDWMZm+SFuko7VVj7z02fM+ORoJaEZAQwby2yHsGgVXhj0 - 4K6zKxh+UgyUnq/xXobwUD40Fqe87EBeOPSmHuvFVgpkO3J5EWdx4+Cw2ny9SjWMW0MTydpQXAra - RXMFXa72/5FcXkSz1BrMgDcR5D3YgW3SAKTnp+loPsrdiUEH2jjWn7gMbI7O/4iRnPAmKRniZItW - uY7ITFMVieb9Wa75n0Zh9QcjwxPXotDMd5isIm/BrKla9SjOY+cX6bEANb1pPr/6pk7SJhJlR4SA - +pI536r01ARt+kilegytz52SFT130lMGCAx3MrK07GoSp6MBluLHO54GS7nkx4Er6/zI1TpGSNGN - ZDvs5c/JuTrD2A5QR7FNn4qcL+34DGwdxZavDHenImfBMSFNrttHF7WMYSino5YxLJSTLWsG/S0q - uXoVych4rQV8HgwXd1hMHszZnoZkKKo+7W8WyVJeBw30uiZAc+aDSjoiw/FJ53h++45h/D11p7Ub - DcmMH0x00F8VwGpmXkdfqQIqdsiKMh3QVY9Cv/Wg8VmWPCwoumtkx3wV1J65tQvEiK1pqrkoQNQX - BYoaUI/NwVw9YJN/dcML6K5+OKd5dEVClRjzGpTuwCdSBIxRbo5RLDaKc+e54lnoHpIN/OpqAkkr - rdzNTKxyHeoLHzkwOa0sOrRyXWa99Misu//ztecTH95q/l/Kg3e7SO7/gnmuMSCbt+kdjl6aJ8ib - G40BieyAYqdzODVdzdm7t6Dn62DwzZVwT5B1uVqGY6BiLhd9D9vEO8g3ew6r5UBF7a74aFsChLKz - T8beK96lxHIwo8zP7QYXMmXhSrK03/EhPGvHOzAWDIewFoxpav7xhEROvudvPnyoztHP36d8zLLR - hxguIRqERbcaBfWd3fnVqSqAx66qAG4kxdT6/euNj+AvPrDBXOasvIibm7Wpl+BZo5AnHB3LB0Ca - ohA9RwfcBeyL3hNocwGGGoWAYI96qlGHaK3KEoaoj9JJiUPIJwUO77QZY5p6s+OoXYpqro51NhmP - Z+l/TCLJfgFpwSiB1+oyY26zzPhkCtlqVHQtH8BRRVA8Fv9uWQgZz9uFgy6lq+H/yA6yyKaqWUdg - 0GiBxbFHCWtGK6SMOBXjherdIL06HY4W3tDJ4zkWqLjl0uxRHWr0wRDJVn8p0cIsYJRZNPiA/k5l - FvoCvhOn79znOjdNKqfs1VYWdAHkmAV1o8j4ALxpFlyibvx6Fbq/hDfGvwNv98qe+ZHImF9VC364 - q2DsLL6Nc5wX2LxGGa3SXY6jGCvNipimTT3D0/EjtPCcZFzoB6bhFPMeqVWtTuacPEzFcn6ItzaZ - ahusDtJ927BnqYO3TvFAR8l1LgxwnL7VW1BzGjolqM6DlbuGT5GWfgfS5GeRhsPba5HX0msJkeXD - JUR/40N6dSOvFa/W6UyOjTcgBYKidexAaFPuRRI3Pavoh54w7oTN7X8YegKpuBHby9QyrHK+hTrF - xU5b5JKhzpBeCtJue0CbzMR868jZL+1ovoigvrt+2a4gAePy6t/HUKKeiikq5Sm33SgdwW8Anfxs - epOnDW59iYyVLjL2meFRf+Od4C0CABUeQOdVq2F5Ohy5MdXDblpONs8kzTUkuHGyZGAXteR1Q0eD - vP+eWbeGGnYI2c1VChkpea2cckohX1Ly7TOBXNoqLbN84bxU6c+28XEn+HugrbkQCvuGwELuacJJ - Cf5HaU5+uoHrPLun5hteohp8p317725Ut2tK9gYOhf3VWjUGDuJ5htnymKDOQIfFS/sFyJH4CUoO - CuNNh65fPFuxVH1O2i0V2JWW5uzQ5DrUAmJo7eAXXiq8NY9+oe2OIpqBb6xU5NWFP7r8/RGjWB9S - XY3nag53MDUz/h3Aqz+b6uqPpboKh2zJTb9gF2yMVkcTOFbVZqtuWzmQqUMD1Qc9VEC/nU052GxU - zc7Ggl453FgY5faDD008EjyLodIX1Dt5sJvg4dOJhI9YLcsJZf2Hdm/1b0lrz6bgcx7Zv/7955+f - IIrHM3CreJQnmz4s1qUP1wSywX2OxWOCtZkUDCULg6jgH20A5SpHqmLSWAJ0AcNs8pg+XlEhw70H - Im4q8MsX8F271saJ8gRVaY/h8EcMYEteY1g0o7qRvyMTfAIY/gaANfzhurE986aTvFia6cME1jrv - N7fWnWkAAdZw8z61oW409ykwDK7MjMQxjKYXRtj4QWQ/tQyPIvuiJyTQuFh/oWxsosUP/43pFxjT - L9DEsNO89vmKYVOErWsj0t3arY0Tm4kRppiZ5BpzNoqNg8OQyWqthiW4RR3xdIPzOzJb+3/KbI3H - gW1XBe7UmiXUvLLIkXkxFomCakjPQKvZC/54XvRpgmRwFrygWUcKhkbiG2fo7Nhrdf2ZdWPPxnhW - y+ONdcIOLXp852OH1ukK+UYTJjPMtbqhX4+//kuZCZdyhyGIKR0rpPXrvc/5Jr8DZ6+7wh/NcF3G - uvBDjybXuu2j3XY3R29vc8t1ivPqIQfy6iQh3LWjuySZXuoBJVeWXGZsCnpC+GTXlVivt6FY6GEr - BnpYGR309K2e4T6DEdmy3Odnz2faU/ShO1cg4KMOduIEf5RGpnvZdT3gz9+XlJDqKhoA1n8sAH92 - A9f1GGp9gN91S5LbZ/ATY8m1hF/zaQ+WlOdT9XihwARTThCQn0wGscLEQU8La/BxKhp/ZCWYkJto - /AGw2wZANjUmgAYgaACmvJv7YMvIktpXKbensvjqVSfYA8q7uc9H8jxr0rnPQA8oqDbb6eR02PVb - sAc/O528dDTW2++TXPlZ5usk9vcwZVlxkhMfSEfNi+uR7j/okedufmCyOP0PAAAA///MXVGSIzsK - PNFUgAAJ9e9e4N3k3f9vQ1a5LaAklfdtbez8OdzucDWTQkCS2RIdOehV8dAT3Jo6d9eYX+j1Yu8D - vb5ccgawbRf4zDfy1KEbVP9GUOsQQr1FcH5/aDeAE1jgTunaYL39rW+Tu3wcMUFQvre3zkT/n21L - TI9fOtPpTb7tq7Q9kfQV9JLVXF5CDz30cjCirAZ72XNP2GGPLq22xFs3R+hx8PTBMJCjcbUA1GY9 - VK0j9LJbSYcDdIxh5jGIeYTePZ+C94d2fGauM+5Q07Du6pkX0MsKcMcd9q8YRyRYzgvaPCfLtw3N - /wn06HHoUZt1PgM9alnv1zV9Ar2c4F8AIP60rN4E1oUseT4z513EsNB6IFern4LDyKzsP/67et6T - 2SdszKOAGeGRqaZHT826l0lKLXSp/BB8G7oXOXkXur9i6M5JvynVwZyayZ2ayW6cc85XxTpJ3mwQ - QJz+QPCXtJrY5/75EMSxVm9ftTw5UoXe1tgGEPjLcUL7xb08B6kZOK/B5+rzphttQ8jZ3FQ0UBj2 - 6KMkO/RJug8/FbtKBzJeNduSELLgo/Cj/WXzxWYQmmnOTS8tTWWrPX5SVdQ1/MTBj9JCbg4CmyGh - mb1yR0CoF0rdok/zHn1q0EegNoYGfNT3sh6eKWwZe/ISQtIvGc+vSnlPlz0RmGOxUDe1Qv4WgFp3 - +Ave50BT/PUf/oSum0oMJUPOXJ6EH+pG4EHfywV55jo4hV9zypZ72S/77McrMlGzh/fUB1PkMSFe - qz3u4IehYoBQrFvdeSC1yS+rqdaZU3ms29LIS7dSH86UAabA47NUYGxaFbIGnnfCKn4Hy6a+TwF4 - DTyqJNd7PTvwBW+6Kfiadi4aNUAYZR0aMlK3RHuqSb1TW9U/CV++2Diz75h2ysqhL2vBzoNYQ89n - vqACaDtlQkudFZ5R1nGnLw9IfgUyONT3ZdYP9th2ykBHKh8cwuzNPiGNIRTTKhMagijpqwQotzrV - Uqe+D6+VkWsBuZem8OtfouaAsr6HehpZU9JbgjGu2Tk08iWRjLxlQEBjUK6yAXVoLCBWGSCPAwds - WznyaBGPe1V5aakQYDZqn+KR7qfC4lOh+JtosYDMeTk04n7KBccH4m0uzLLHoxHNBbFKOVBVbPtM - Hq0Dc75zC21k9vRdMsy9ZY05a6U1+vyUtqwlctr/Olyir+ujxFKCd+gL5oEgU/QhWWMrRB7RB/Ug - SvQoZUJ3NM7WQaNWB6b83ci2jnIA62xYfDb0Go6Q7dwoLedGVMsV+PK2CZOAVsH780te+mCvINoI - jlJxbfRD5VHw6e4yU196fzJj4U7Bp9jntMs1khN+gaREAX42+8GpNzLHX85XdLNU0wZ/JfZB8xR/ - qbfUPtEj0wcFPio9WwkC7msJeWlTfd2IAb7fiFGf/qrfW0ZjeBQtyIyPA2kul8OjbfbrmpnT8PnZ - 0Z/X8IhtDHUE4HkgP9qIwe6jvFWkhjJjK81ieJyzWECsCdZjCMdUqhr0Ux0GIewtOwx2P4xQVMgu - B5ZAezFSuA6D2Yo2oozuRi++Y5byIHMCNxcY/QP1xaqeijVOEdjmj3VDnXgj0JMGcYNAnwKtQSd1 - afZwfr6bBCsIxhM0kJas8i2CVb7FLgP/YS3po7OkTi3ca6zgj3zHOjuwF4App2ZZu0Sf4yrVs7yb - oa+WNWGCeCK0uWuE5hoaoXWKPeqk7mHwnob7Z81NdffJ62elfQXPr+un/uBXxUNtmm7bpcoTe4Ex - GJoxbIny7thMdgWMClz10aoLXTSrBpK8Cl7nCxrkJYc8NXRBtnYM7QPG6M9o+R8jWfA2V5BvCWvW - H5k4F7XynwknPF3dcwXf+HPZL24yW/wlLwTv8Hftx0AbW40GwORjiHP8Fcc5+zWR+/vcq0o1P4g/ - 1W386CUlkGYLRfOVMGnF33pP5Q0/n/ryUsL/UN96yWxLh0vWYPC/jfDj5FsvGOjyYrzisZvODQEU - GgGYVR8tH3YGRa14h5fVVPku82WVT+tzee9ERxbUEgjyNMZPi9cMd7dOutSB4LLBnYhPfJimwOOk - pmWWGNgsO+fy5Pxd5bhhYYONbyZf4U7Lfdz5wOFRfd7LaFefeTn/m3SskQusJDxeHUzwQwgMA8DB - PLwhr1hTqcTZbj/3nTKT+0bfaaObc756J7+ab8Mv36ENtgZMncm8M3ZJ1wsQVunmGUQIZY1BJzJA - QebdqniE0YNLfpcqHlR2g0AOomM4Hz1wlygbpcGHyv31Jf85B21XumsnI6yKvy7Fkr8sHpSO0sR0 - zu4Lr5EYVD3yWtXDm9gk2/9kSJe8ecBdCpQaUmDogBZjCmbl3RWsqkfJ+qisB98gEVKTQuJvZT3y - KEK8BJ+j7BaNctKjdlUwC6diJw9y6Ry1JYD2vW4TujIFn+V/0q8jyt/9G6b6PPRKOe75uKUvV1ba - X/jlUgOCRcqy8+mDl0LT7D1beGNP0Tde3PUlXQoSSNqS0HINvPnQeCmGhJYIrQQIljTCTzsR45nO - Gd3U1BH5kgDaWN199ICktawzn3ONavM5P/gbwSdB/M9q21IfAUUfvh36YtU3b7uImK4L8Vg0FDmw - /nPm7lyzcZPx+pn5Em7hr8hL7Yt/up2Y17Dzko2BeG1SHkXz7+QOzUvqmfqmC5bIgFH0OS9wP9VU - fSmrEwIZA0hHUmfk3rPkr1gqGcXGQSr1rsvXDfX9tutHP3AdwT9yFORUJ1KNt7mf6OyiSqB+msyH - EXw2iijXBQS50p08+jBM3dO8+JNq/S9JeWhXN7lXZ2OaunTLGb8Co1FbMbt+53t7EN5b9sNm1EbX - y37cxtXXAhPtEdpI/VYCTF6xWFfNT4r+iS6Eeq3HA9v0V8PoL25sVjN3IHA47AI9vzjUbj70zDnK - G73p3/RXf/Cr9EfH2HtZ087QWUPlHABonEzKLv31Kjs4mcgu/UFgTqQ57SWj7b5wGn2Ec2lKS/qk - Jv+NeZH8EP8QfykU3o/OpVD4G3Zek9+Pi85B3VuTvyzVU6mr5seuGey419iNg0zkggUGmNYLib11 - MtVqdPlL5QdhV28VDfwlX4mPJdkavXEXrR3YMx28pkjA5aZYTXktp6QqtNWUwDSije2mCudxSJSp - ibaadEcHj46W56O8TYOorwGc5l103Fqw/f3Uzk2hNT2vO55y5JKu1d3bMzRxHlURqbDOd7RxnjFh - jOWCk3skuLZfT7V4dZ6AvO7dZtR5gkK/WXqgbp/xiaTyaON1JCA/72NjQJN0NKBJOjjQgN51oAG9 - qVJAedrzzMrlP7egeUPSeT9Vz7g2uU9q0OXB5GIJlzZetEl+mlW3MkupjJCUbL0WcGx9Sj0E8bkj - VPLGAqpnQPiBb11ppHbCy1q38w1Ed3XxyytGnS57ukRKcCN2us9/zLSTp+sN+o/NrFMyFgJjhQj/ - Bc7u/CTda4e/rp0EX9p35dPl5Fbd5+27JPicmFNUAtMMyYqcVb7KhiU56HmtCZWwORbFBRlH6GXb - +hRDNxM5FFztV2k4QqVLXL3P0PPleYier/YAlI1Q1ruCp6m8mRxCJJfyZvIF9cUH8sKPFNZ+pE4r - q142r1E8ZzB0YTBz0KoLhjXmGirdO+oTyTKucebmPF9cNsw6WiGq8ULU0ZJU70FR0z9MhfWAnPPM - k3QNQZf90voik/qy8PxCmurlCVrzLvv1YeEycL1P8YGgWg89SMaMFKs+PXsQ2IucyauHBrPR7SwF - LhTh35jzltywgFzQgw+IuzRjS6UE71EJmOs0bSM5HuzYLNtarARyTjzErhy1Vr/6N1xAS7+B/ZoA - D32z/s7t0dFxS66HcNoA1QOpXnvVNIGI1+ivQiHe9F+cgAhr3Duyztz+DlqdVdT1+YlV1y4o2plj - a/X4rAaFZO6gmcfNv/YgFoY0RpLr69XbXq8aW+7+3r6Sr7ccv6hJwExMGfQA4tcvifW8HrrBoYtd - jRW90bCOpSD42F2XguhK+hL4LykuwHNowrAZ/eXEpqrPedyjbrtXGLJf/gSwHoNSax2QWA+od6JX - 96zrbteGP2nqqV4A5JL7UnsD+yYGXStN4oE6Sp+xeKXraj3VFS+nEIl17SZbtPDeE8WUgVaIIncb - 4TcE5W2nM2AQRjdnZuNFxNInex2FfNOM6P2pLYc3zYSYSptDw7XPpRzCd1uiXsoHYk/USl0HIjY6 - QMLlYZq8eqTkAMi+mGl83PxxipYKmiua87SgWYJofbfic2M14q3n/fTNSYPxUMVTeurWTtnZ2dmd - qyCL9Mio5ZqW1ppKfI+VjU5h5Bz3mTHvqODKyUvDVGv2UMqlQkXJrsxHL8VbcpA54HBLraZtapWw - C+HQa2sPwkSua2qwiV389I3N0znrBCfeTJHvT91gGE4YvnoUtVK8/wYAAP//zF1JciQ5rj2R3IiJ - g7b/AnmTvv/uG50ekQRAJ+ll7W3VO1mmqqVCvQAIvOGLTTxw3iCtsw84F1DU/ruDZ74u31CUBOA+ - Wd3zEKPYI724DhnVdTAJqWdGEuxdtuDIRVfwp12vP3BUATnQJ+RA411vuRscW12S4I7o+5OOQC3J - Z+BwcBT82ybnNG3jOELZuTT121IqLmERDBRh635hNzaJkh11BCf3pnotDOrclFK/bqu/R1sM9Ejs - 2BZFPTo+X16Mi/Ls3fH97tUZQ+LdR2s5CFMelrP+O9/enlrzH7KiJR3uQb5XGmiOh560VE1gibZV - Rtcqk7pjZNCS3ZR7w4r6q+T4ogUQN/bj0vuO8l3S6a315EG7giUwjiMkFo+l13tSdAwo7TyJseCQ - AYV5Ecpe6VoWkTKJioZDsjaNye1l+UFk3W5q2UtV2vdx0dKCjD6YlD4MiVjn1s54UNdfXcAxVKv6 - m0MGHRKbCMvDMT6Ao7X/kfl5GEaHRV3ONCJiUOAy+3ytR0J0CtDoOqV6SuakjUQzht4FQQ5sN5JO - tHf0c6s0C4NPp7y+vFolP/uE/fz99VK1/CLeLVUh3UkKpfq6V25wBo5lTi01riTXGfDWHJbIabL1 - c2R48I9luhmvbwJnbeiT3LGfXIW1oj5T/6ysv4Z+VVYD8x6dePQN8+ocFzjxwC0z+++3rSYfhDt2 - d90w8PhMTMrZKZc5NE2njO0n61tlVthMbklHZlUeebTpyVbnBA6b/siR3PCTUw/OQlrhm5v52gec - qaZlGWxi/w65aEQfcKZ+jE3bOsO0F/ZYPfNulz0lxTTOw0rH3OkQjD0JjXyae7oUDVYDFoxDb4uC - Bo2f1VGHR3G5gX7eUd0yaJF9Vpu6+rsk7RGEjRv6gWNQcISOMIylPbjWaPxEwSw35vlubq1bBRqn - ddaf8NwI5FAwytTqyZbyeqj3lSxqcC2OR6WXdTI2PmR7tnJYvBzaFBZt/iMUdXEs2mctx9j3yXJg - NsaHoJLDofTM7+urC4pll/v9+bYd8jfeQTFkHM88sPsEOVFpVGvJkQCw37sOnLcNAQclDz9Xrea+ - 2BH2OkMpTDouFfUMHDbLgVz65QBWAbDWYOARVQp8agPeJz83d6vXz5/tCNjysYXLekLmO1xC5mEx - MR0Zt3FpigmOTKVSsxAOZ4BogCnDAZZWWmBmd0/OrkeW7igJRzBJyDn1wKwpKiYx8ufKs/kU81pc - fYp5fXlVE/SH7KyasIzYvcAZb9c9VTaaw3DqQXgwvBpPExTfMrF/YKI4UbC9bzXSmr80i700FxtE - KIXi8k3C/QzLpmkWgB6fdYyPBp/YbX2QG23nU9F4sRZbRa8/3KmoNOnHOohQ7jge5RBqCXK+oHJw - U3hvANQWlNynbeqFGsj+05b1xkDGdt0LxkeFaLaUuWxfJBhYIVQwGoR22/T6sxZ8Lx0N5aAdi1K+ - tam5UyrSgwWssTlB9FwrUogkT9kRMhUcHrhopRUWb1IT3ezTpaPVKE99bi7Ybezqr4LwpskswgEb - O7szoQnlYQn3tzy2hNE1SfUMQS+3QbNFl6HclNJiySPoxN6FHAR1k4w6ZCtH6vgeNbWDDWMAjt4s - 6vpl/36idu+QqKbX1Y7n87074a7hTr9YGtHT1zNufqbWqFDjgILeeFZZ16B33dNZW8hj9VvKZuoh - exYRz6KLxSGy9L6JWRR5oBD11gvnyTPrJexff//rPpDV0NO3yKAFAcuSwloM/g0NpdtBlseBvTVR - JO0MPn8GNc02jAsViwDLkafW+shw46Roph4P0mTbZHFtshd41DZZ9Ca2JZZ+alqOxPrU9YPVZaQr - albXLsxqks3PdrHf717G4sUJkSCG8eOktBVekIS4CHlC448C2eI0Fr0zcKNPTLqmQ6ei4hJ9LcWn - iozs0sDRQnqQop57ikqyrw6tup7Qk+zgcnD9uzDoNrGfP9xbGYRNqtYNz64cGaOUm41BmOPRbNHB - LnyyWqKzu3NppSPy0FhfwmJmja0ddpUD56uPfcAauIinpHz1CWsPek+murFBD2eYPeaH/iiERzy3 - 58DMoUxFVmjzKL3AWKdpJz+0Fr08Z05Dh41oN68We811YY69XuoBot31S98gaz58ZvOEDGpvTmpv - zv3enLYOzWlnudO89ce4A6xxHjc78+bfttMSTQ2J5/76FP0hS398jv3BXEv0IExgMVgcBvX5I+lb - VuL+0hwr+4BffHdQPBKtQSi/nB/6g1GsZud7m1Y0bin1ijkjRspA6xHMh+joFIkpz8XHTCk+aX+N - Udc9Gvvq1Rt5k37ctL/2n+nfs3JPh+Q9iQ5skVulbssx30EQKeDNMZl296u2hOTGUig9Bjm4dRyC - AeHQKJPiymijBosZFEJ0KFSqj9y4oB1RWXoYlpqo957kkeuQu9SrVrkcPHSaonIw8gY9uYIQbTKz - q6BhXKUFCGl47YAQ7Q3SrlM5OKJ5mqgF6oKc9TJVETzoEMO3An3sAOUAAHxKki4g0rZVNO9Noecj - 8TZju/13NmJepcR7WxxbSEbHM5fetoh5sBnXT8R2GPXPiZXXfkqWDAnO8waRNKs1Ry2ei91Uw3Rk - gPc2qRzX9Jx/BkWmPi5oBUUb+uu0jxqL6O3D9KOChqeNaPdwLuueXAFHaxvps0dN/XLph1I8AFk0 - FEVB0bKSU3dExmepJXhsMXRCvrOggpoiPBYh17a55eH3x5eTo/1kjahFdGka/4SYeZxjuYqfyWRe - GOCMHDQapWT1RJTAPRpTFSHDe2gs7ZC19G8/GeaP0JiOdDqqtCjL+RaVbPqT99DUcAS/nxGDRx4m - zwRbQdsZiZ2bUXRkuc4P4Dz8g75M9Rb8UMnKYLisRrRD/ZTaNsRfzQ7tTanXd+1wHscL8ToPJ8g3 - ep395ak1x4FjlqIn/kIlZsQZvvVhxZPLxXKsmgxZA1GRWLkV+q8XXBJWqnISbezwU02DukoK9M+N - 66vL2AGOXXec69s2zsUcb9k5BGNNa9XGbz36T1SaQAw/rRalbnXSnaJvjYRjVWRIs2KGT8bM/Pbf - cXMq/zhpwhz3W9NyxGYn0CMSFSIDKhldUJAMuBcLdX3bCpPEdzyrSjRtL6uBvDX1RI75uGptjqJj - cmhQ5hUomYdKgUVvLByifTa6WVW0PaNJNwnSPTukCpvkzXSMmisxnXDSlS5UF9+PhlWJmz5HFYjG - YiUfMrV7iItHYxi++q1HFViLVCxivR6i8zki7GCYmuTuLwyBu86YD0HNkLu6+lW+3JukXq4IrX55 - zyI1r42OWrhzzVm/HU9B8tjjIc61j7ZqMcxRF3me51X/wcOV6WpbU5KjGzu9HHbCx6u1frOAO0cc - vNKj3sKbtPXdbFcK5wv/KUcjwpFkjjHjAu4wRkXZGJkHhPYSu3s/EOC81WGyN6ZmUaSlGrHHWND5 - QSn3KuN0iJj9aB+kno6IvZ1KxM5PJW61uc83LQmL+As3b8DKG2QZOxgtQWYs4JwGTmMs29hRjbEw - KNrqLFjcpKljgx7AK70NLz4W3Sy0oHR4+NirhrtbdtEVaWINw+KsncXlEhSHin50cQkOa+x2oOI2 - L307i6ynysTaLixmW71eRhN7v5v2xccrLO15haUtwze+yzkErHPv2LivrT6z1NSnPEecOMP2PGtr - yWnaTFuLY07wFHWtlF3l/hHe0tvtLK1iffMPnjphzL/hkddw/dG3XFEq4KLzq3U8bpg71lrE8ZCj - tvJ5w+CMh8UNkJ29Tc111D7RMfU++1LD8tKLPtFpvaiuq7H0MNpQDtyHmyleDtN9Sl6g7XmD++9A - Lf9XoHY/6efFO00uQT6nh0DLVUgQNnSiFWhGws1OmCakHNkXvnztyuoDRBfh2eADfAdGNf0MyVy0 - J983r7nZsYdIb2b40lohQWfx+KEhLV/LriuCaw40U7wSLDNbnfSKT8D7dyCtvIu0Szi3SLs7R0iR - h3mvZRtoVs3rjneio38sGYk1nwwRhhT6RWAotPP71Pwy5L5olECdCgQL93Ej0JxcX9Kw7Bxeq9VF - /pX8LG5k03L9jy/d+Zk362gQyInp/x1IO+WKL0KtuusiLsZHuEye6RHY6rkzn5N8c3iegs3Kxg7m - yXsNDy6Ltjb0CVrG8wKQs1lPLtyOerQFNrEVKtqOm2nJe8mSsGezTk/1Rge3eJ9VsuQfX7x6RqUZ - 2i5O0r8PbPByX+O5oij9YDodD9PdrvgOagBH+pvpM72Dk89TxoklFzZLhn4LqaNFsDF/PNPdjpBg - WSnBpxESTuKU6zalaLB9k8//cyVDgzHkQlRhylGFKce7MOX7j8utKGWoJ3AOtwsSpnSTpBzPIsZS - va2m+TCuihjaPe0WdEhWQRR1JFoaqjT/J7jDt5ckFSCwXvpT1QjBI4J0XWtsQ8+qFJzFjyagHJLm - Xvh4E+JajBvepU3poJdcqA+miRv+uVdhnQaaFPSkBcreQq9XCDWL5w/yOO3GmMddD4rbG0AZK/fq - v+mykWH+Z1BDCm7VpYFH1JbPj9od/C9gRy/PlhiWvrChbUziwwQfoKr6/b7kxrMlIJT/q9I9XzF7 - JGVbMZ4Fz48KhjEvsgf9ZTvchX/Wv609t0PstyW1clhezF76WMYtvQgQn74KCBRn77Zyf3zlfIuL - /boktEeDMitUdWMeshIKr9KXQnBWEj58FxSrJFDR9YOufpVxV8rb6SFhqeviOqvAUzuJOiuss3e/ - 6LMkaHGGEhp9mN01bg2/hCv0OWPtcB+9G7LWw4YkfbPDVIO03+QE1TRbyDvur0K/4dlHZ/V9alMm - Z2ScA1AMAK0EgaICoJQ5AFHGKTArxnMAy+oaAVAxLYPZN4fUp+5WjTSm9xEosF464y/SL+MzCHJ7 - KpScQyo3I8sHgtYgHcGdww0E2a3DNAQpDgN4UeIKhi5BRKVJahhCLIp2EkpPO6kvGsmQX4XhRaNe - xNCf4lhJz2BIx1kXxJwz5CkMo+2DbHbRMSgY2s9PJCUEqnHNo100pCUM/aeoC79GZaIdor6uhoKl - h2GE+D4K40p+cL796JbtfIvC2EaUwFDlijJHoWmEkBZLafBs5405lMMihD4nN4fyLQRRNPMLvuYg - /7l+RJRsbO2jMnYFleHz+fKTUFDaSLf1hL/+7treNdxl+VTx1nj1Arm/DJU5Gm1TjHnmNRB8oKte - VnOLsvZUh2UWPcQ4K+XPN+D8LxxTVJMNQG8oWdm0rxpk1f+DxbGhnFla+W5/dgvFlBoUpcTAkadQ - tDbo4DyzDRLF7s5MOyQaVZAzLNphdh+n93H0RFo6AhR6lxbgj2jvzSXaRjPkmsEU8Nn+mo+zJrNT - 0Qd+yTbDbN3NQNnsNMfFHn5ZR5yXIedZuCzkP5d74G35GvyUQj0U7RMBRAp+hRCNA2jo3bBCW9Z/ - q1iwK2PBXRAW3IkjYPoVvLP/jJHLzS4thLJKl/gC0WZpubgXUDj0kjxUijxq5mN+sgkLICZnmBTi - LRIZoq6iKMsW+DoPvHWzjctVqHyeFfEZDkPvWL/AoandATC13GlRpvdtkPJQni6SZwPNiUOeFu/n - m7f8xSG0JPOugnqbDc1TqcchUL/OPn/X7z4bOqeBA56Imw/Yyek5o3rGSKzxcnHs21rNKLs9DU2R - 6CgTbJV4hjGRnHe96YmCQ9dPXu1JE1t1grKNMFAs2jMCUu7n01BtFglfhCLteLY2k8hnUAzxANmc - SG3xDuJ5S6Q0NRqg9vB2RgN5OZFimRbv55u7/BeKJPrDNPctEQ6KCG8ONQfFrYTl9MvPFt0HZd7t - g1kcYcmdBhX6cPE0JBL5J/TpuhW0Bcy36JPIRUsne7/k+lNiq+6r7/s6NfD6VcG/kh6DEHtm7gKE - th9GnPfDOH8WUsShhlJcUhY7GJI77wbHzmVlEQHqWYigMBgbhVCNpdI/8tuGZXzflfSoIe7xK3ji - TE9IGMeQjPsN0ZCailg3OtUPiwsAEYPHYRYPiKzw6A5P5RaOkUhNNUixV6TnI8SIb6OxLEN4Qjo/ - UMvDjWnJG9Y7HzBaSprTD+mcs0brUYcL/UYUHkeCluXKlNHaQbrAc1ZvRMj6M5V7A+zqjpzLq/2w - bCxL+VeqO8QzRuFFWqJQCk/uTif4jCuEP1hAf3gq7Nqhhd/QSVcWKoci7nMU4B5+RUv3MJbu4lSo - ehO8WbqSVx+eIZ6pn+HOB/kOebyhvPwiz5jPHxinTF6yr0JU8Q/EMjTxXANPwlIy21Ocfk4+lapf - 6p3nqzUBvUrlDXEHeCwPRQ/nELai8l7AA0MrzNnmtXLvcVX8PsbiToaPwBhorpst7K4UcH8oTJLU - rZeUv1UuR26JdncxSde75mMDUbr6XV+s1WE77tWh9rw7tgVVzsg4UicXtR7lGQBtCbFNY/cATDwH - IOWxOZINM/dTqORpDRu/VwHQ1hFU+MMRS7RrmaDCHxqZ8GMrf0m+mqv8Ns9ww8azmbHemg381E81 - KmND+argrv+LMUnCORj1R2lm7wDZyzKbLUH/JFTWSEOrslUESyFfw/trYQbUHFHobr1ZjszhPf/V - HJfLNKhr7YC/8Oi2lOUJ+sSqxmYUX/IyaNSDJ423aLgKPwrR6cbAHSeiMrHGZhz/t3yCRjiW86sK - TTV4/j8AAAD//7RdW3LtKAxcUVzoAYKsYva/mimMneiBDadm8uk699yKozRCUqv7aRM6ydNU4nFz - bJQNO2w1cOzeCkGPTCMOPeIyuOw3VdNJsEh+GGP3PI2oxRrPUwWd/KAbJ78Yd9buxKuS3/V4Zb/r - aQ2++2uryp3ykyEynZv38LAgvdZ5vBHoZeQn0h8WgkH7wyXAOWlNMq7mg9JC6Re6MGJuoMSG9UtN - a1nRXWHov3jNtSBjxEFaiZy2bThorUgwzMrpO803JbpsxDBDnGBR1lucP1h0akni5eRZu1hJG0et - RqPNfzBFY9Ak866dbcgcmjA+92Ca9Zxn1GeoyNHGdu7PL4sP0DdRqSPH32pJVek73p+t5ZLqjrwj - vZQS+chIbepcJfWgUzFXAKBCeceik8yN7o7JiBUsDAEIpnMJQliNCFtw0Y1L1AaIg5/9G0cSo1aA - zfo6ntWjiiMfqGQ6WbmQXZ9sKIPQ1mhQntpoX3w0GfKjE9GCDXWQG4dOiFwoCufqZppw3HdBB8TZ - bCLTirk2JOVMEJ+7MY2tYi6XrJqhwgeQlbDmI2nJXEHjtiqsyRb3h2so8hbZAr8zPK3A9Nun4LSY - 6LzppULPjUWvJz/xdTQCPWmRFoHnxynnRV0IKfvOTJCTT9ZentnO63kQ9H/g2MQWFv0ral5/vcwt - mnttJV1wrJt14fUvl6cq0qO7fO0L5ghzRA7541cZkR9EOkG6FmOp26MSXTqsWxWlKZ07ezq3T421 - QXuLpEOkkFMh18IUkg7rL0/GlVySNne4ni4wpmPrjirp4N3h0jwt8lGpzckWksaRupUWXfxy8Mg1 - SrnR+c8mxfTAs4CFhXWwcsTAmmnmdsquQMzYjFKWIPsx4c/Y5PwHpWkUll8i8PWwIy94fW11niI+ - 6fh8lUNwKOZPVLM+uJ86FfISbVY1CIt40QMsxR6oUwfH4gkz3uyvSpAYxOdqsbVm6BY5szpJSxcY - BItCzT8sYk7S+/HSGLye1iqDstwLvXZ5+fmCirnNLRtLeZJhveHnA/e+hl2Wg/rpViFwMMiJCKQS - MBjUIZPZp8jZmlVl0WrV5chj30JjMBuByKzjp60ay7FZIZYdQw7sctVPvrhy1MtIfSITmQeRewuB - Lg9idIzTgZx029xCfZNpl5Tyok1aC/g2KYZS/9fPAY8Ewk4NTeXCztIR+ssFw74wBDueHM9Sn08y - rXQs0OdFkPkNfbJSGm9TL2MuK0ldyLwSH4FkBvMFk/U0Qk37le6q8pdMNVkW9aM/2rlqH8l8Hu+X - TScxnltw9dNpLrdJP82BbJrnoHB6b4tWDszQ4Hujt89OxoFJdoW1IVzuTrXo5oJKtCJbl+L78bqx - OJfix2T387VVQw3gm9tDZ7RW4qmvbX8HyZuziU8l/hcKrW3uflNpefGUqLLlZxPDkuIXe7XaSErK - RuWfyE8G7YTX5L2q817dzXt1L+/ho1TrV3evb4Rzqf+sfDZR3iHp6of87nabizcWq9bHqMqshCit - LACJJQCSX4j3HZCW7Fsa6AqiHL277wCpzW+yCeP9eCHyelojMi8tiy9E4pPdJneFOWoPphuIKyOj - H0Qu3W8MyXBRCeK4EUeWGpfFqAKGMI6JZJQpdw5/bC1vtcBFO0ol35GpelTfxmr8FcnraQTyethh - PK3360dLhh+vorVzwyg/2N+ctSDWAglf2aLglEp6wzN014z+dSRw2600rFP9a7w9HR+9xWoKXn9R - wlB5/XVQ2r6MkNYwzHiI890cY88bkzgqxBuTpO4292drSNKe6yaWJw/qfEit85Li/F3vzu9zcIlr - bxJdEPWVbRTz9HZKWV5txPs4AYqPI1NwwjH2t2iZo2LJ+Eez19PTtcVsah9gLOJA+1HVjwj5O/Mn - 7LJPD+6bX/XAOlaXJ0tqR3rHohs6tdd7DscLa7UOxkNjwscwXHP8uEJqmBuGMzXlooE4dLt+Ayi6 - v9bfI4Ozgs96ZNH/heI/3Y9Xo7tZJv6bXWOWrVE+fDM9gJEB527U/dfddkcWQTsodNjI+qdGB1wX - ybljjqey5RzQyKFbym/2cKc7oFUvqUmK8VAlsrv2X0N2/9dCNRsL1awdVHdFEzbNU3N9TJB0VB6i - ADP3VJL34tEpl3A53nR9uXjLo2YtU2Va7IOAmzl5qVEpodEWVbSLwSLYYr8i6IlT6ZP95sYV2liM - +ah6AixjDf3C4vXhztRJDqSdO06CJyEoOVBam27EdA/bpVXjjcYSnMXru7N48Gq0Vo0ybbZRwbq4 - rWIRH80MwT7VjC5asf22yno1pr8KeSxWsd7iuhdwP/64i9ddQNJWNyB/U3pcvj9lLFEeDMbrCpEu - O1I4U8HYikdl9GaLR5mu3GNri+GhMIULTmAoStGzi2rlf2sB4ynOI8GqP3wSC0l1weF6GEDCVm6s - OyPEfC43PbjDdwpQqQ/e4ovBhZcQyqEVlzUjGHJonjoEzpeaeCXHhi104nJo4CjdGTgSObPUqk12 - ujtbrX+5XQFl6V3MJ52mW6V+tCLaqVJn0dAyFXnVnQHv3RJ9dqqGXjqCyj26+M3dGr0WaQ7YG7nq - 3b6lZo294gyoW9Xg68NhcSxTPTikpo02GUZb5+ImNmO1+ZYM067b5qOgbOkL53MRKE6XRdmbXeoN - RS8hFMiJoEMJEqltFoqlTd1ua8oLLBJyXjrMqTKjg3GE6ieWDXRbvL9KbX/pWgB1Pf+9HW/pMyEh - 6b+PTmzr4vL5fdfJCZiQhEyIerJBwdeRXQjr1CMweTTe/O9fOJZWgktgoGKQRiNaz+JGqEZRJIek - 5jnfCoyiQ0jX2uDAouwtW9BmM5wfpaCkG2bDdIJPdcNA/AeILie24NOjWcIwmgEv06lS6vRW6tfu - w1SDcm5L6+KCGohQrMpzY9Z7962XnbZnA9YNHpqhC9+P17X0YkTvILKtjUTGcIOf1te+ysEyj2d/ - ka2DtaPS2y7l2Em9iIgXLHOIKLGN6JT33T1sXUSbT5NFgFeuxqBXMWq1B2vRNMX+KgwOlrp/Q2wJ - /Plov/0b4mNT3+v6jawvqY8MfjkYKE0ZUpT7X+BmM9XFEiFg06wiQriuWuIwlrnfQaPVNhTV5ivG - UgM2RWOzLwvZWKoLK3bZmPSXYnuIy222kSLbN32kadJ/9EWJ6JRMCCNFA/XthjAOptyhCjjXfQ4U - KT/OuEb2Cz9P0SC0c6lWdRO1v0uz2mxmmnH9Jd0IvNhvFwJpMzfSllApfZ8YnMau9f2LOgcgrqpE - Fz6kIJtv2qbRGKaLexlT+DplmNKyTmRkv3YhYYah7LQ67MTyE5veu8BTd/DPJUyuG8HS/CDXD6+n - PXG9Is/JlnRvER85vX9PabIxk13sps7HCV3LuzUPvLFrY4AXOt7Kurrb4KDKftAnxnp77VxWI1ci - slrebma4T0lnv/vDnfSX1lafA37lyRStHn37abr+RGlBb/NOdoHcbYoKLME30oNvqn8BwbQiqkBx - CUtPEpKeVI0+GvcbhT4t94ydn2F9D7761Epv4GdN07+erhBmQ9N/y3352ApgfhYolYMqzcv8bkAh - OwSNE5DuLJUoJJR0yw3rynA3zxUxcl2ME/MgDhk8hmiCToRC+iiFmw13B1P6fPGFbNPfVaspVL1P - en+4E82tnulJ9ub6AMeS5qP9fg15R2OIn8+FVMHGr7733LhM5TCyrExkcgoeFjUkw2qSIYHVw2hD - 6fOOYO006r8Tt8Q2tHveBIVGt637uX6UB+vqDoopHKNhjdukQiwhFd6WTD/Im1pdZ0Q3qKAAvRLb - M5EdpQvBInpSAUdiRcXo75KsUjdYKsb1E93IK0O75PcY3ZwdXv/NetaE35ieEuEgPccQlnfk+QBS - CicnsmmvQRCUhWSnvzw1j8nvCzIdeXF4X8PRWV0iLLYzk00lf2rtFZcIi9p1omQaM/1O8rvtdH+4 - riTury23R8s3tcddC3gwnKRbNT8LYuLyDshQVZS3tszvw280i4Vjmh+kuPCQydT8ORrupcgajCO2 - v2DMBKamyIXK352iG8Jew8lJvvmj0RPS/rzCh49ocpGxXTXPpUF0iXDKxShcVnlwjNp1/FrIg830 - SbFaF5JGemmN+ChS/9K2gnhJaDs9svlTBxniA84F7o3OKELopsnrVRSDIAagte7lNh8AZy9Q4wcW - GdAXhyUwMFDP7nPOFoOaDNU7f+yvouYuCnp8iKjb3Ndn28U9ri2dzvtol+x+8PCFW0wwYhIXadGr - 00io8E1SlEiicfXhkDmIzZkECxwWFD+vaCErtmyzIrghsD5J+w/7p27nVNcr+HytHsJHGol9YrY7 - oUAIE6dwlKKpKVKo8R0vcZjGxxh6lS/fHOWgE1XCeAJ1SchVPAztwKkGidJmx0122mSGTVtXmvtL - K53ErreeHsilgIDT3QtMm4Omf2IYaRLGolXzOXC9badtrtRGqaYFna34/W1IMR+a2ylyaZac2FRl - z6dDSX5bh2LT5mbN2WfahSPvkPZT61S2hxnwFxxMWMoTG+O9RHSCJlCj1p6hB1cv0R2O0mmrlLwK - RvVjQs5tA4dV4xCTu5KiFnnub9KyLRCxaiCKmRSCWU28P9xjYiD8N4KwHLnhfKcN6nuv1EeQOZBo - dInPPHFSs3fSB5V1rqtLqSCCB6Ev8e3oPlnjESHDh8rdKe/PBxVc1mN7vtSFPlsKZj54t0mKTs4E - SiwNDRDLalzI040LwLTQ6+ZRlH+QEClre8reqDFq66W3Xf/OPSav0ZfPIe/jVfSJB1WOcwq4w6Dx - 4eMarqS6sOcaWYnFJcLZOVrTaiNfhsqVxiD4yn5Yrv3SupntSn7Rmt3dwQ3+LHoZ1r6ifOY/+FAq - n+sHt1EnZgI5ZEERywl+t+FCanM+N8O7Ds2l+fhBTYhVC66fAwo2pGAgy0McFe+dA/kgtWHRX0zl - wOvDHQzSFvOpr+fP2zPn3tF8PtER/p4CKSyOBolEszdKx6JJSpTn84kFfa2i53QDeqIFgtGiEbIW - 27nq+GU6AG1b5osM3ymDucVkGMXGtTsK9hbzhsO2VVJQeSopvvrOtswHvhlX91AnaAIU+jLYFosx - 7iJKdVYPFlio0FDsrE0QqFndCPr87CN7amYtRv4Hl/T3/TSRHapFwg/P0L4J09pmKUhBT8EPm4ru - rOUapWZhZcwMqzKwij8/g1o+gtkwlGSXmtj4/eSuSGO9Yr7I6JsU7cx8PV3gGw87emzX15YFBH/n - 9LTPRDjyeASfHO+u2sje2z4s+zLbHdH23osZv8O4YpgWvoWUg3NaeVFQgAM4myK+NbL7oZnrf8De - vwAAAP//1F1JjuS4Dj1RGqQkashtXyAP0ujdv3+DliNCJDW58A1kLxM1oADWM0XyDau+h8fWVSKE - kaxwGGy/aZvwY6sXYRqyFb3F3TIQPSxgV5zL+tVp+p5MDw3VUeETFEPYvDqjO1DH+PpW2RvxaN4t - 10+XBxsem7fd1x9bPlviKO2AcUfVPcuaeHGaEcsoMhEVyHMI6mB7yzcUp0HsXHq9GuO7qzS9DtUq - X+9NWlrnTt9AEJI0tCzt7IdcZ3WlByf8EsgJwwRyTbJ9/WkHh+S2XEndiGxYjoShvxDlvz3t6GF+ - bB2jYa5JMGat1Sa11C69IX4V21QM3TcZNNLnM3o11VcBIVKzz2afSXjyLki5MhgnyZMezucL3TxI - xHgUtxN2xwC0niVTIRPCyifB+94EHw1HTY+A3sol0pSidrlAtgIY6VniSQYxKwhC5cK8IAgCgpu2 - wO8/tfqUghtFwOJpmpP7EaJHqPEjixjYH1vIBMZpXUAwecN5Uhik/kp7hUE7Rxhb0hkIG1NE9zAC - U10JLEJ/8BvLiCAzckXEzdAfBmDUxnpWL0HSWm/e/rBnjJCj+nZmhT5n9mcdqQQ2Vcs5y3NuJmmq - Bzo6OwtLvRBbS73YOOqFOxf5vJP56riEgxB0PP0d0sBWr+1/U7mSKSMY6ZmAX/bmHbN+js6XoPX7 - 2lTwj1CX/y+oG/uoL+URnDNZmx7eCtrCg85X5yrmhzGXtIlzmS1dko0zAMmFcV0uDPkFG+06Oc2k - u62D87nlJmUs0z5ZOPE3PFa6WPvl4l6EbCZDN01kwW0FivzY0hXQZz8ZrfxbYVaehVmm5XGv4szh - zVhzjtNNu49LpeHs8LBFDBPZ5WaWbxKX+sc9jwukgbXgShOVPF+DZH9L1B73OEnAPSnhpMO5tcX2 - GSR577pH13loC2xZDwdgxnMBNwRzYvgdcDtv/Q/ijY/QjubTnDtpnt5/+3vLaOAAa053IUc5lSng - is7p0cf04EVmVlo1tkhdnm6Zww2TsbS3lmmNRQxHEXjR2WKm0Ib0xJCetPgJx9Yt3dFNh59wkeQv - g5/5QlPnzl+D9RBsaOMHfwna8OnR7XW4HFYsfrmaNBhGNqEjuCE7pLwDy6fbS691KjbcTPQ3b+8H - Cm5dt4nitNsEGcCFqGOxfJ74obHlkrQoiNjSAM/jnSJzirDI3GZFFpEVeWN68zvXV6RTbTugU4cj - FJf7eZF5LnbX5UO3GNqYihR/J+Lcw/3t0m9M2huU8/Efv/09thFLEaZnOm9CWXHmju2tKJoUyHob - koBRew56fSOopIa5ZX3MLciEeojTdEhksiqjpdMHqEUZiEhWlxuYibSkNc42mZo4Cr5inooPfpCR - fO4oS4qsRJ6uSXQt0a8g543DxC9BnH8acQsnnvwFNbMF7x5Z/QhxkUlzf7GmT38Yy3yZzFUyo9uq - SrRI7CwmmkzkrspoMnAokAYUvCxWIMlnQCFYZ1Ma4dGKTclev7jl0QrHVj4EpG8YPUxKTIj9iwD/ - r+P5jYc3F9ywij+2iuY12Vawd9YROAvQ1QqVVZQ8GLtdm54rmWHgQ5ClpKaUfChKzxEzOS50UT7H - qHN5FNQ5QB03nvqZZKdZ8nEOQG1eTialU71MrDfdhjzBwXyOKyaEfAJBRDnCQWz9PxhDiNE/+kRZ - po+fsWTBf6O/90ZJxzmcTUbwD+roDuooTKrGNiS329u5yYprzImIJAgkWCmQ2sUymzGl9LQgAQYv - zH/+9/ff94BWR26gEiHEMAWa9iV3aAIdFdBodTctXUHeEmlaQwIwTsN1NSr3U64skMbTW4n/kXrx - PzcsBu43uOKtlpbiFFzQFb+uwFVp6MNCfb3y4T/YIpnlALn9LrJDSCgP9rPkdvpZiDcNBPhFUCpJ - NjifHM5hpmleSWc5KJSBkfmI2oUuyWRxBCjVYVOULowxlrN4hmBdWL5XXIUzqMuTOy72Haf1WpIv - ADeLx//6c/uxhTnd0LymdjmBOj0IeJlUnLtSV1goDADNggvM7O0E05LZF6KAiC3sktf6Hgxt+VJs - 65diU8DqQ7iu4PU7l24BY4IJf8pdn2bJ9pY1b/pqdFMAastx9Ebqo5bL0QgmZZ/zvnv0XvW5Gk0m - 6khDDPqE4kmJvg1SQVbIVDXzf6LRcdBMeMcX4RR0STe6VCbVutinwv1W+Bj7VOL6g2n4zVCDmIbV - +nqHFX9QV2RKIwq7FaZMe1UwbKNv+De0NSuuKVpxu7grbgd3PMQN110cm9rHXXF13ZU8sfxjjjvV - +MAIJBXsOsYropCVLn6789k6jmPeA8ldClJsdymsKUN8cJCDdNAG0wRO77ibx52BA+cHd6peByo6 - rMhI6WSCS9T1Q1LSyvu22mIOy1WzUUV+H9alyKdmUcgh+UDknnyrbGnJkYWQ9xyn8ahpGYAx5uKn - WDNshWD4JoqtkO3WS7a4rt/mItm2JDJPlTQEG6ngRcy+fWZCPLJKJnIqXQqE4d/rxxePOe6fVLcc - /+Abwjf11yec9pnygMocF8jT1avs+AHyFjSTgP12txIQXCLiYem+3ofVD/CqK39Tv9w+UQ7/7IxQ - H+PzCeFyxLnHOjkS1fFuTD3/AI8MTWgBvGC+nOpxSX0l8qLNRSOjgzxEXgQnLuDurVl+MYYul6tn - 2lwpOyI6+GZ3W7xHGHIHugXYdJuLeQw2V/+TjYuVqGvaoNVzECze4rRgX+/k2g/eqo1tU7XcCq+Y - OOSUexG0D0ysL+nX17K11mRm4y7sEu7orlwaRmPyohAp9JP4jlj1x9dJdQo+xRoqcYU90Oaaqpoh - /slcF502hBMeOAp6yYkXpgutfLVk9hp77sZT1o3u/Gj6fJNbyeGGvMmsZ4I8vxNotpc58Egzv3nD - 89nhn1wKgteqj3NH8i8AAAD//9SdXa4rqQ6FR7RR2QZsMv+BtQhVCbYpoPrePPRjlBNpH1kL8N+3 - lPz0dVeK2V7tUYy19RD/I+k4hoYZPiJnIca5yPR5WdAOVuqp8zRfbyTK/+Z2S8mWLwFuJcaky5fY - cpFLYhVx8r9LbHJEluYNuig8V4+2V3y0XFXiE5EZ8HDAMnMzCYmm+VwcIsKWPXCXD4BrxyVVukQi - VURBUSojlt+teWBrgC2X+zE/nIW9NXy+VAZmHk943ourqwiLEuWQ+r1CoZTozNfhvhdXHcn7WJF6 - Rpb3XwG/PhNP1/kdIsMzyHA51pbrl9ps/NB5PJO60eKivCzDkQVa1SxTkVn0/i66xldtfKijkhqS - 8CM3LpyNkV7slxmx9dguwPDZcWt84fZhh7e/btQ1Wju9UrpxW0+BIMFYe/JGls5o7V8Z6kNTktsi - 6BcZvXeCGrckKPHpKn+FdIuT4H2rTlJSz0lKR3de1r+QSH541wnuqA8rzBQfqa/+6ZzmmrM3HJgb - rujhWJoWvCCNHiYUZyjhv/eoj22Kg+sTZCU6Ap0CUO4pplSHOMTkcahmY5H72djeaq19tcOEDrQj - OaoI0zuDhCMi5vFYLM5vOzMKKzCVGS5KlRDl6bZ+7WSIzb/hvi9QjK8Flb7GLBio0C+LzCxLbE3j - feUXPnpSCr4JdtdQ5XSqEtw0utxHzS98kL7kcFg5wRVx9hBnwQ1+3UPVTShpXE08ertYCtLgbr95 - U8ad8/Htafisn0NBWg7HNRtIPNebPinZu273zxMuFrSQjOAy/IscrjkW3gbOCC5pZH6k3hSPJSSD - 6v5/C27NW8d3oQTvzPDuNr55Taj5Cs4gZu3kkApbWqzEEY0t8ZZjX8WZVviFRs350i7bMZZ+nzHS - T+WWy857JObH64znyMlknfGjNwPoZnQVrqyANNFNDiUzV8lPEW1HKD75xvuiSWlWv9+gcW9uzzGw - gSLWfbDuVcIpvKvVZ+iujy1416cdRkbcepgkeEG88Tk4CtIwFeAYUtUeMwAIzLWHdoEfptrD+Qtl - eNfFxeQXNAy3iqDL50S9LWNGfW6WfhmkekBE2yPIfUJ37nJfcMtzCq/BLdv7emuDH7bstxBfBDcO - B7XAUcZwy7YGMmXTfJVo4GxiX5q5LzUz+oxOk/LLmMKwaBFIAZkFspciuoWehEd/99U2e/wh60TC - QVsjKE/3QPi4W0v9is5eeM74vA9Xdu0cHatjaBmaV0/MytCx0UoTYkY154KiQxZBITOk+RT+ik5D - sOWUVh4CT1J1oq4VsFRd3VGmSjNE7krim3V1MntbEXVmHgduzDHY1TlhtzqH+V5pkXXYcmLFQTyr - Av2l1w+g5LPjeDFJ24TbySQ9v9uBkrb3+HpHNd+Nn6TAksbWWpkfXHo2iH6rXyUKqzlZiKNEIZr1 - R3SFTCCXK6Dz2FL6EwKNVO/bBvW/oS1735Lt4hi4R8sG+dovn19tiFDilmlofmG8o6kXkjGPLT/o - 2IHBcme0qyLqzquI7sWdF9O69WNfn5L9lefy9C5vqHaPWTSWQeGBqbIioxaj0mLst1jPT2cM457J - 1vWjpYG23MUwB+BWWPIhpPM03Un8TAjZofHnMjRc0lKGa/+0ugeTrbSQc4U5FFk9W1+RRve8Xi6B - j/jzkXVZui+fFRd5ITxjtfH7eQKxro7AvMJpCN1JLGdPa/DwxWkdQkEaop3NSeoenjHZDILgfmUL - a3lNRzBxlz/kt8+JEaGUToQqiBnC8Z0xyrvPmetXyxl2uqPt1cnRY3iQprImdH9UaILIzmOE9XiR - LXnac1TimgXgk0COLoQOlQiqh84GD5yF+mp14EzW5o6jQpRKTyiVjlC6u/8jO/s/tX6W7vA21YE5 - j/E2ctY+oRxMUeYtPYPnTtk7xfSJPM+bDSjj8VpY3Ibo+urkMnkCJcSsitZ89J6hKQdB0aPR1N+G - KWuPmPPjx6Zi0yMmr/fK39N+da98fJjGQLk5dHgt5uquOFeg6ccuUACwKIFiGZZAk62kkRNhsS4/ - HjLVW9lXRQlpozvorsJSy+GuEKNG2wMqQve3sV6C5E1A95aNfU0Lb/194KAxIr80LMBePdTgOBIM - PEN7EXoXbYN65rFVmjlKre+rHG4LltxySdTXYdZRjL1RWnWVOtiosLsNE+lqWqvfnxpsLKedalrc - ug9pggqLISPeiJACxQU8+CNHC8cB10cycly9asYGvrYJiO5piuDYKnFmHVp9gjTmgTlr1wpgTaT6 - a761Xz0WpcfSA/PL7p7JhulPc767IYn9lQA5Z74xraD3A3XiIPNVpCm0ecqR8j5IYKs1WZsXipSd - Crct13D7nVJkcQOC5oGqFVn6a7EeDRr/gNrBN1VHX+Wd1lmiJ219MNNk+5frs/V2+STV0nwaKhLG - XuhfFSbn3WRjp2QY3axgEZPgj9pLBDi1s/97O446GTr3JkrKehJL1hzvQ7R9ky3VnOnAh1bV/rcf - WlWrXly0qkB7wJwQt6hwwHf+aX9S2xDjJAOwlgk/D9QyVaLhepzUzLtcPxa3PmSUyMM5JovRtBYk - nG21Jro8MaOu1qgwUj84GDlAG4/v8kSA3kmbW5fhstLmhgM6vbTPL9fd3utnPo7/AAAA///UXdly - 5MYR/BWHn72IrqOv+Qr+gEMRVuhB4UO2VnJYD/p3R6MBTh0AusEVteIjdjgkh7XZXUdWpp408ekm - UW7V0/HVyHnrul14WbyC0qnp2EFTydrL1+3Poo7js9GsmjY2Va0OkymPhPUZpCXzJpH0DKVc4uMl - JC0/3K5StVXEKslpj/kJSOqZ3hiR+9uG/dN4dqI2Yy6q9RiRvCk1XtgaPhEZrb12uOqCM/s0x2ar - R0PDWK5tubIXtmWn+5EVJtmAMqM4W5mdsei2efN0txc5DvOSpbv9ZI7DUz3U+AjlTLuRl1hOeqgt - FNcojNbVF686NsWa+hY9QUw1v4Uxg5V56CjDWYFQ975L510/LX03z8p3kh2YKPPjptwY70ncxk4v - vDJSe8WdEf5g8NNfCTsY2XGlQxp9MrDjZHGHbjPMGyaowQUGbYcHcl7Pq10s65w0yF4NB5XSMIoI - cpiV32SYAx6dSgDGBVNXmfHAg+sVdhu7rZyX/e4igZddSmpjBzDulTrgEToj++jaNELjttV4FFRd - uOWnO/Jy09h+v01oKH3xdji7D+Wu3kfbIAqTOaiR/qByYEUpub3VKbWQbnX3tRJPkzEnJ9k0NFXH - pmdXD5aieGv65Nys7Xdyb1kYotGQAGGFR6VrS+9s+ir8uCjPuoq2H5Nne235BHyFEA5bbVS6LD8A - M4d6zdG2Ki7VHaJZhhKDS0SzQWI5JPsGQ8QAt+FOfcVbOfuSA2NRYOxj+2cwo2rS1IX7OqCaXCgt - 47pEIV6GEpL7a+M1wKnGaVg9fk+WI2jhWo6jCXUgQQ1GDoTIeXQFhcZ0kH+y9jM86bOZGX607Znk - 9VyiKwtrknBkTSOtWXrjUdwNH2XHVKAx9eHtjkY1tWia9FPOlJSmG98Rz+aH2D+IB2Ps5+oUGE0k - 0fk0N9cgAUZwSxPBFIXH5yrFwWYglWzP1eQsRhNLLGIk7bOdi6BxN7FYdI0auRkIi6jvt6dtMxCW - ySni/rbRJDielvef0hJzqYeNtvYZnqJ0YQBKc0XCpcsvxQE16nj7pZqOW3T3o50iRrpwzWt7S1JQ - HIQj6Q/9ZIGipSD74uoOR1qKaJYSiykU0RJnd81omZtfxAfTiVVz454ccrqJbjRpTBCRXJ7DchiM - nX8qgojatCYeTvRhlKay807vdbxGY5VoJCB9rla5p7suA73n/hnyMISrIwM2Rc9bm/HU+RhTBaLR - DWnWBJfCITSqEGM+HOazmT8Vdy8iO8tYb19Z1J6uASJKYUFqJnvB1IhZzoPbV8itT+hjjA2L24sz - WISpjik9mnNsPgFjCjUc+6FAF6gY7lq/HETT6/yjuhyT1YEhA8ZY3iBqzV2iWmHR3YxZ3YzGpKFW - WXFgS2FCfj+NijzVq6E2urgn9d8CsFYPVIBTvd4otOoiB97N8j5E53oPJnY8sVZh5/mxFhwbp8v7 - sASpqgtN/F+eo2VhY7bXlsplVlMWkvVFXeDZJN1fHMdwf9vQOr2erViUxpE+7tWgpkfVaxD6OF6c - qOinT1F3TCPGt3RMW7VkIlncjVg0CLW0fCfXPQNZ4R2FYiiM54e0loj4ILwFwrqE2bYNWtGR5AYV - utZP105FGPHoBCXbtYFkaaYxQx323UDWiZmljQPs0iXiEO3fUnoWyflh+wqBwyzLizjbtmlXSp2p - FLk8IJ4MK3Ipx4ZFmJZ1KDg8T198KMkza5QGqJdE2FzuX0MJR5kNmd43OLZpJCeLUNyRKuxLVySq - 1YuakjR6a5Q8vTj6adN53jMb6FTRZ2YjvN7gnqdi//IhWxHKGSo/tV5K570fJTdlLRebI0yNfA1N - c67iJf8bo2uoGu5wPCz8o6Hw21FGZEfhj9XRpKQ6YQlVwTJVWfRzc3IiDUtRLyIr2z7kXgRvsOR7 - xn04OUjk/Aj1ZLRfN8KnxyYvK7V0qxrjNTaj7cc5rpTqx7HjgetuHNNbBAtjcQK91V+RpmjU7MUa - gxS+4CXXEj+IZmHraK7Z6ajOb+gzQiXYm4ynyelGKTp3ECszWmqW8x2h2pzGcaNQga/XGU/wZWkE - 3T6EcV2E5XU+vVVL8k7cHjf0bU/j3HR/26hA5PhgOCkQKZZjjiLiiPJtY0d+62LjvGxoO1hC1Ecn - H64Bj7TUDkr86i7CigpupPWwa1C+wmUJsRRzE5JSdsqL7H5nPYtKkxV+Hoorr+cmlgeUMyJNQeLj - 9nfuHmNDCcoVhtG2v694NAPjI+zkllsKlGGf3ioQgkMhSVV6VVg0FMp8Btu3/HKh1yuScBk7Q69k - jIg3F9hw1bCd6LW9+Nhx8DBM12wMUxnSfW+4BkPTnAGnPdPr8+fYIpNm0ih9ZV7HFh/kymsEmGsh - NTQiJVAudSfRB6mQSU0Oz8qB7QM7yuEBxljarBQ0N51UwGufwhidQvPJU2NeuR1TxVxiexgzL+oy - JToZygPLSQsmQDqxfKg3kGZiyORVzGXtx3EZAI3KG6gzGbKDmivhazHUGTWtz1HmKxybrcD7SZlz - Gks90SqznM8ieIY77g5xwxHvikDDt8iOb6GIT3XQguHD4OWrHdEmsAXxJgBB4y9Jc3bILeW1+JPw - 23KuHX9Z1nmwSRfPXHV5LLjccxV6QDidDKbjyWD77plnQRgtC9+BMGsaPg1Q+JYaLye71gROTBSD - Up6pmbLe9ZWNNK4LdG/AD3HhlfkJBBqpEojXWiVQRua1HA7zy8HiBEO6iT3qGYlofZKm+na6gsCe - YMhAVF7tSaq/bq/N0H1pTucCHownd1+iM7ujtLsQ983QS9iZIEYnVQJqOZud4JMB3SHRfoS6AsWQ - Y8DJrGGoarm36s5Kel3n3vZCMeSPkmZGXLrlysRuBBphEriWpIRoCfYWc5gmRGBtvkkVcdhZkTXd - thT1hBzlopZcmGI2bc2sVlzk0uD+uKFue5pZcUn4ZR3N9i3Otj/bll+YhZ3RRPBnZ1K482dn0sDr - 3ih3PTaLGxs5uXrUZu0Zq5by5Sz607Hd+EmT0mgBfKsuwtUC6JwyAjYeRUxnbRaEepy7xNQEOCdv - QnarZ/XyJiTfMdNJKB1rXNAl47fpmJc0njaAMnPPqHAJcpsXVnqawSVK0VFAqVQCJBpm20szWSiN - PTf7EiGeTQGhmd8da6EDaeHYS1yaSO6yQGcsw0ROqFkdr+ENl2EFWwaCPVtR+2+yUZvBlEUZmHCB - DB8lA00wKQ+04s46u3t1Eg07GOSft/vUzZfHOSMdTN6rwBxQ0V3qmvQC9pbriD+VMAcHkC3q7WlD - HCxzuiQw06AOreg72ZVo1FNgOhFB6PLaGajUfD10NwFM0cmSaLiVgenOyZR2dA3W6BbObAhRLC1t - CH513XxlymyalWZI9KmReLVmpdzX3R9fRStxVrRyf+OQSZhP1ySazkvhY7m8NKmT3pBodUncoEGv - fR7xQoMpJI7K95otz97u7BJSHjPSJBEmZNLLgxmVCW4b2rK5ArMRCooKkSiVSfDOyH1/85BuXx9E - p+bhnPgEmVugJi5CE9AcXIKqkJlpRLdPb+rHHJiHE89DMwjtQ7S4/E2bodt/zEEvlJtteLwle593 - UZmZsbsRJqmDjgzaah5CNNUh3D1Om3CwcxCPrjoEWR1uRAqxQihVgOtSExkEkgYgK2UglvjjSaWu - KRWLiGduPMAtcTtug4aN6jKSBXrxEczR0Xo17opjTljcIb8FdzUOzXEncZd/C9z9TtlnTr1WmBqu - G8GRcg22amfrhiTR1eluWpVhcX0Yr3MAIkobssSmfEKJtBATvd8ZudQZ3nwMN/3C2zL0lBLey0HU - BhVeoUHKeb/E6+eliNmbcFXwA+GqQJ8rIJZG1r2+xJKVnIQrXBWLq2wTSbrvTYbeUTp65eUkwmT2 - pkuRN1hZsKel72aWNBYxWCexMZ6N8c4Ct/A6wauBE2G8ruaS8268hpYLnbm6Soy3i7nfCFxHRZyS - dy1JSvVsT5tGb5qV6tnfNqJLRzzrR39qouwllhMDx/WwmwJdtmY7lmxUihI8NwRbNv1LOpQHHYCO - OY523eVybZOuK1o4K7L0aVk4veNdFsbrmNQ6luGmxvkNwJmglWrJR9qymK6dwb/WTVY/0k1WYclT - 284rqKI187i8yPg6k6eKb7jJMMNQz0WwitoiqybRFgxZOXkkeM+rLC04tdjVvFFvkYqapESccfB4 - 8ZGrTsZMI6v8QZPE+pGKr7pHaAZaxfrkhC/xyUE8VM+1mp3g0NWTwGulssoSXX1D5EnZKwpcYLZ7 - Vv0WaZPDsnMsHVb0bs+FS87U0JTT2W5BUw7j40bHtEfOiw9g6//CpbR8cIa21usoxK8Es1UO6MPg - bP1tr8Fl9q0cFc8kg/kt4OLri6uzyhWyvAWciE1KGldROm7EJTK+563FM+7Q9MB40/Q0bgI5QwO4 - Fx+21sylS0T9Ua+tVdvsA+EpLbm+yhhdKqig0dzga6aIZ5obZNX7XGXwa4x85WnaNrGC0tvopKFX - aAUgq08s+JKs6T6SLsmzJihTbMkmS3zW3WjKxKFmOvYVvrbEtCGDLQs490AZXFRfDVXwoW4pgM4e - T7Utq1zuAFCwqAqX7ia2Ds56PRjjIScyuC0cO/mCSGVoppCziFUk1JZ7cg2g2Y5oj6G26SN1a1dC - y65aK2kEPH9xwZyPQjxrZDSh9Xhs98yX61MvPnCAwV5ZqAaWoxyQy1fLAfFDoQuxD036pOty0EV2 - mXupfEHu4AHLCo9FoclcW8VqDQGFMrJhC0mmhByjtiRVSpgLsd3LQGFzQVI9kUSlRbPaidStiL4A - Wm3HhY+F2GmBLtsWcyicLoW+bACBgt2R0jcYsVcZ0jg71qT9XXBGHwpnu2bJ5u7061//8qc/f/7l - n3/74R97mNov8Pm7b3/+8fuffvnmp1/+vf4P+fzTD9/+vb3y3f/6j/imQ6997J9//LH96OcOV5f2 - Wp/lL5TR/Os322/dwdGNYvalubITWfcnq3hriCJyFy2pjZhcFypiGS11qa3nUlheTiwi9leeaioZ - Y+7+l9//l8Km3bveNe1Z/fXXnFT8q/qwoa6UqM/f/edf63innSWZY6BZldp1+qIw/6sP5K//BwAA - //8DACQKwe8zKA0A + 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 + ADObuwOe9Q0A headers: CF-Cache-Status: - DYNAMIC CF-RAY: - - 80913cac5df83733-FRA + - 8239d1d89fb8844a-YVR Cache-Control: - max-age=0, s-maxage=5 Connection: @@ -2184,21 +4372,21 @@ interactions: Content-Type: - application/json Date: - - Tue, 19 Sep 2023 10:45:04 GMT + - Thu, 09 Nov 2023 23:26:16 GMT ETag: - - W/"b68518a3fa88e2b5d787c37621432650" + - W/"c6132897a3b94a719ee4d7cc67e2e601" Last-Modified: - - Tue, 19 Sep 2023 10:35:44 GMT + - Thu, 09 Nov 2023 23:25:42 GMT Server: - cloudflare Transfer-Encoding: - chunked Via: - - 1.1 a23fc047c59f0902384fa94644607c00.cloudfront.net (CloudFront) + - 1.1 cd874fd0ce2f81ddd14f2d3033364a5a.cloudfront.net (CloudFront) X-Amz-Cf-Id: - - WkzoiQa5MxCMZzvqn4zaKnjKeEBQliHm-oXXLmJYj-DBNNm6Yu4Xwg== + - D-AdynUqru3Fxi3V-D1rT2QVzbVAgJ29DOkjt0_KUMi8Sa9B9Nb4kQ== X-Amz-Cf-Pop: - - FRA56-P3 + - SEA900-P3 X-Cache: - Miss from cloudfront x-amz-server-side-encryption: diff --git a/openbb_platform/providers/cboe/tests/test_cboe_fetchers.py b/openbb_platform/providers/cboe/tests/test_cboe_fetchers.py index 277dc6960d41..eb5411a64098 100644 --- a/openbb_platform/providers/cboe/tests/test_cboe_fetchers.py +++ b/openbb_platform/providers/cboe/tests/test_cboe_fetchers.py @@ -1,7 +1,20 @@ +"""CBOE Fetchers Tests. + +The CBOE provider extension uses request caching. +So, when an item like a symbol directory is already cached, the cassette recorder does +not record the request event. If functions share a cached resource, it will only capture +the cassette for the first instance. + +If an update of the cassettes is required the procedure is to delete the cache file and +then only run the single test which needs to be recorded. +""" from datetime import date import pytest from openbb_cboe.models.available_indices import CboeAvailableIndicesFetcher +from openbb_cboe.models.equity_historical import CboeEquityHistoricalFetcher +from openbb_cboe.models.equity_info import CboeEquityInfoFetcher +from openbb_cboe.models.equity_search import CboeEquitySearchFetcher from openbb_cboe.models.european_index_constituents import ( CboeEuropeanIndexConstituentsFetcher, ) @@ -15,9 +28,6 @@ CboeMajorIndicesHistoricalFetcher, ) from openbb_cboe.models.options_chains import CboeOptionsChainsFetcher -from openbb_cboe.models.stock_historical import CboeStockHistoricalFetcher -from openbb_cboe.models.stock_info import CboeStockInfoFetcher -from openbb_cboe.models.stock_search import CboeStockSearchFetcher from openbb_core.app.service.user_service import UserService test_credentials = UserService().default_user_settings.credentials.model_dump( @@ -25,28 +35,25 @@ ) -@pytest.fixture(scope="module") -def vcr_config(): - return { - "filter_headers": [("User-Agent", None)], - "filter_query_parameters": [ - None, - ], - } +@pytest.mark.record_http +def test_cboe_available_indices_fetcher(credentials=test_credentials): + params = {} + + fetcher = CboeAvailableIndicesFetcher() + result = fetcher.test(params, credentials) + assert result is None @pytest.mark.record_http -@pytest.mark.skip(reason="Needs to be fixed.") -def test_cboe_stock_search_fetcher(credentials=test_credentials): +def test_cboe_index_search_fetcher(credentials=test_credentials): params = {} - fetcher = CboeStockSearchFetcher() + fetcher = CboeIndexSearchFetcher() result = fetcher.test(params, credentials) assert result is None @pytest.mark.record_http -@pytest.mark.skip(reason="Needs to be fixed.") def test_cboe_options_chains_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} @@ -55,8 +62,27 @@ def test_cboe_options_chains_fetcher(credentials=test_credentials): assert result is None +@pytest.fixture(scope="module") +def vcr_config(): + return { + "filter_headers": [("User-Agent", None)], + "filter_query_parameters": [ + None, + ], + } + + +@pytest.mark.record_http +def test_cboe_equity_search_fetcher(credentials=test_credentials): + params = {} + + fetcher = CboeEquitySearchFetcher() + result = fetcher.test(params, credentials) + assert result is None + + @pytest.mark.record_http -def test_cboe_stock_historical_fetcher(credentials=test_credentials): +def test_cboe_equity_historical_fetcher(credentials=test_credentials): params = params = { "symbol": "AAPL", "start_date": date(2023, 1, 1), @@ -64,16 +90,16 @@ def test_cboe_stock_historical_fetcher(credentials=test_credentials): "interval": "1d", } - fetcher = CboeStockHistoricalFetcher() + fetcher = CboeEquityHistoricalFetcher() result = fetcher.test(params, credentials) assert result is None @pytest.mark.record_http -def test_cboe_stock_info_fetcher(credentials=test_credentials): +def test_cboe_equity_info_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} - fetcher = CboeStockInfoFetcher() + fetcher = CboeEquityInfoFetcher() result = fetcher.test(params, credentials) assert result is None @@ -87,16 +113,6 @@ def test_cboe_futures_curve_fetcher(credentials=test_credentials): assert result is None -@pytest.mark.record_http -@pytest.mark.skip(reason="Can't record") -def test_cboe_available_indices_fetcher(credentials=test_credentials): - params = {} - - fetcher = CboeAvailableIndicesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - @pytest.mark.record_http def test_cboe_european_index_constituents_fetcher(credentials=test_credentials): params = {"symbol": "BUKBUS"} @@ -128,16 +144,6 @@ def test_cboe_major_indices_historical_fetcher(credentials=test_credentials): assert result is None -@pytest.mark.record_http -@pytest.mark.skip(reason="Can't record.") -def test_cboe_index_search_fetcher(credentials=test_credentials): - params = {} - - fetcher = CboeIndexSearchFetcher() - result = fetcher.test(params, credentials) - assert result is None - - @pytest.mark.record_http def test_cboe_index_snapshots_fetcher(credentials=test_credentials): params = {} diff --git a/openbb_platform/providers/fmp/openbb_fmp/__init__.py b/openbb_platform/providers/fmp/openbb_fmp/__init__.py index 1739cffe121f..e9dc72b0bcca 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/__init__.py +++ b/openbb_platform/providers/fmp/openbb_fmp/__init__.py @@ -4,6 +4,8 @@ from openbb_fmp.models.balance_sheet import FMPBalanceSheetFetcher from openbb_fmp.models.balance_sheet_growth import FMPBalanceSheetGrowthFetcher from openbb_fmp.models.calendar_dividend import FMPDividendCalendarFetcher +from openbb_fmp.models.calendar_earnings import FMPCalendarEarningsFetcher +from openbb_fmp.models.calendar_splits import FMPCalendarSplitsFetcher from openbb_fmp.models.cash_flow import FMPCashFlowStatementFetcher from openbb_fmp.models.cash_flow_growth import FMPCashFlowStatementGrowthFetcher from openbb_fmp.models.company_filings import FMPCompanyFilingsFetcher @@ -13,10 +15,17 @@ from openbb_fmp.models.crypto_search import FMPCryptoSearchFetcher from openbb_fmp.models.currency_historical import FMPCurrencyHistoricalFetcher from openbb_fmp.models.currency_pairs import FMPCurrencyPairsFetcher -from openbb_fmp.models.disc_filings import FMPFilingsFetcher -from openbb_fmp.models.earnings_calendar import FMPEarningsCalendarFetcher +from openbb_fmp.models.discovery_filings import FMPFilingsFetcher from openbb_fmp.models.earnings_call_transcript import FMPEarningsCallTranscriptFetcher from openbb_fmp.models.economic_calendar import FMPEconomicCalendarFetcher +from openbb_fmp.models.equity_historical import FMPEquityHistoricalFetcher +from openbb_fmp.models.equity_ownership import FMPEquityOwnershipFetcher +from openbb_fmp.models.equity_peers import FMPEquityPeersFetcher +from openbb_fmp.models.equity_quote import FMPEquityQuoteFetcher +from openbb_fmp.models.equity_search import FMPEquitySearchFetcher +from openbb_fmp.models.equity_valuation_multiples import ( + FMPEquityValuationMultiplesFetcher, +) from openbb_fmp.models.etf_countries import FMPEtfCountriesFetcher from openbb_fmp.models.etf_holdings import FMPEtfHoldingsFetcher from openbb_fmp.models.etf_holdings_date import FMPEtfHoldingsDateFetcher @@ -29,7 +38,7 @@ from openbb_fmp.models.global_news import FMPGlobalNewsFetcher from openbb_fmp.models.historical_dividends import FMPHistoricalDividendsFetcher from openbb_fmp.models.historical_employees import FMPHistoricalEmployeesFetcher -from openbb_fmp.models.historical_stock_splits import FMPHistoricalStockSplitsFetcher +from openbb_fmp.models.historical_splits import FMPHistoricalStockSplitsFetcher from openbb_fmp.models.income_statement import FMPIncomeStatementFetcher from openbb_fmp.models.income_statement_growth import FMPIncomeStatementGrowthFetcher from openbb_fmp.models.institutional_ownership import FMPInstitutionalOwnershipFetcher @@ -47,14 +56,7 @@ from openbb_fmp.models.revenue_geographic import FMPRevenueGeographicFetcher from openbb_fmp.models.risk_premium import FMPRiskPremiumFetcher from openbb_fmp.models.share_statistics import FMPShareStatisticsFetcher -from openbb_fmp.models.stock_historical import FMPStockHistoricalFetcher from openbb_fmp.models.stock_insider_trading import FMPStockInsiderTradingFetcher -from openbb_fmp.models.stock_multiples import FMPStockMultiplesFetcher -from openbb_fmp.models.stock_ownership import FMPStockOwnershipFetcher -from openbb_fmp.models.stock_peers import FMPStockPeersFetcher -from openbb_fmp.models.stock_quote import FMPStockQuoteFetcher -from openbb_fmp.models.stock_search import FMPStockSearchFetcher -from openbb_fmp.models.stock_splits import FMPStockSplitCalendarFetcher from openbb_fmp.models.treasury_rates import FMPTreasuryRatesFetcher from openbb_provider.abstract.provider import Provider @@ -70,6 +72,8 @@ "BalanceSheet": FMPBalanceSheetFetcher, "BalanceSheetGrowth": FMPBalanceSheetGrowthFetcher, "CalendarDividend": FMPDividendCalendarFetcher, + "CalendarEarnings": FMPCalendarEarningsFetcher, + "CalendarSplits": FMPCalendarSplitsFetcher, "CashFlowStatement": FMPCashFlowStatementFetcher, "CashFlowStatementGrowth": FMPCashFlowStatementGrowthFetcher, "CompanyFilings": FMPCompanyFilingsFetcher, @@ -79,10 +83,15 @@ "CryptoSearch": FMPCryptoSearchFetcher, "CurrencyHistorical": FMPCurrencyHistoricalFetcher, "CurrencyPairs": FMPCurrencyPairsFetcher, - "DiscFilings": FMPFilingsFetcher, - "EarningsCalendar": FMPEarningsCalendarFetcher, + "DiscoveryFilings": FMPFilingsFetcher, "EarningsCallTranscript": FMPEarningsCallTranscriptFetcher, "EconomicCalendar": FMPEconomicCalendarFetcher, + "EquityHistorical": FMPEquityHistoricalFetcher, + "EquityOwnership": FMPEquityOwnershipFetcher, + "EquityPeers": FMPEquityPeersFetcher, + "EquityQuote": FMPEquityQuoteFetcher, + "EquitySearch": FMPEquitySearchFetcher, + "EquityValuationMultiples": FMPEquityValuationMultiplesFetcher, "EtfCountries": FMPEtfCountriesFetcher, "EtfHoldings": FMPEtfHoldingsFetcher, "EtfHoldingsDate": FMPEtfHoldingsDateFetcher, @@ -111,14 +120,7 @@ "RevenueGeographic": FMPRevenueGeographicFetcher, "RiskPremium": FMPRiskPremiumFetcher, "ShareStatistics": FMPShareStatisticsFetcher, - "StockHistorical": FMPStockHistoricalFetcher, "StockInsiderTrading": FMPStockInsiderTradingFetcher, - "StockMultiples": FMPStockMultiplesFetcher, - "StockOwnership": FMPStockOwnershipFetcher, - "StockPeers": FMPStockPeersFetcher, - "StockQuote": FMPStockQuoteFetcher, - "StockSearch": FMPStockSearchFetcher, - "StockSplitCalendar": FMPStockSplitCalendarFetcher, "TreasuryRates": FMPTreasuryRatesFetcher, }, ) diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/earnings_calendar.py b/openbb_platform/providers/fmp/openbb_fmp/models/calendar_earnings.py similarity index 73% rename from openbb_platform/providers/fmp/openbb_fmp/models/earnings_calendar.py rename to openbb_platform/providers/fmp/openbb_fmp/models/calendar_earnings.py index 93010caaa928..05f279878dd6 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/earnings_calendar.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/calendar_earnings.py @@ -6,21 +6,21 @@ from openbb_fmp.utils.helpers import create_url, get_data_many from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.earnings_calendar import ( - EarningsCalendarData, - EarningsCalendarQueryParams, +from openbb_provider.standard_models.calendar_earnings import ( + CalendarEarningsData, + CalendarEarningsQueryParams, ) from pydantic import field_validator -class FMPEarningsCalendarQueryParams(EarningsCalendarQueryParams): +class FMPCalendarEarningsQueryParams(CalendarEarningsQueryParams): """FMP Earnings Calendar Query. Source: https://site.financialmodelingprep.com/developer/docs/earnings-calendar-api/ """ -class FMPEarningsCalendarData(EarningsCalendarData): +class FMPCalendarEarningsData(CalendarEarningsData): """FMP Earnings Calendar Data.""" @field_validator("date", mode="before", check_fields=False) @@ -39,22 +39,22 @@ def fiscal_date_ending_validate(cls, v: str): # pylint: disable=E0213 return datetime.strptime(v, "%Y-%m-%d") if v else None -class FMPEarningsCalendarFetcher( +class FMPCalendarEarningsFetcher( Fetcher[ - FMPEarningsCalendarQueryParams, - List[FMPEarningsCalendarData], + FMPCalendarEarningsQueryParams, + List[FMPCalendarEarningsData], ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPEarningsCalendarQueryParams: + def transform_query(params: Dict[str, Any]) -> FMPCalendarEarningsQueryParams: """Transform the query params.""" - return FMPEarningsCalendarQueryParams(**params) + return FMPCalendarEarningsQueryParams(**params) @staticmethod def extract_data( - query: FMPEarningsCalendarQueryParams, + query: FMPCalendarEarningsQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -69,7 +69,7 @@ def extract_data( @staticmethod def transform_data( - query: FMPEarningsCalendarQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPEarningsCalendarData]: + query: FMPCalendarEarningsQueryParams, data: List[Dict], **kwargs: Any + ) -> List[FMPCalendarEarningsData]: """Return the transformed data.""" - return [FMPEarningsCalendarData.model_validate(d) for d in data] + return [FMPCalendarEarningsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/stock_splits.py b/openbb_platform/providers/fmp/openbb_fmp/models/calendar_splits.py similarity index 62% rename from openbb_platform/providers/fmp/openbb_fmp/models/stock_splits.py rename to openbb_platform/providers/fmp/openbb_fmp/models/calendar_splits.py index 5f731fd2dd84..5b8cd0bc44fd 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/stock_splits.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/calendar_splits.py @@ -7,33 +7,33 @@ from dateutil.relativedelta import relativedelta from openbb_fmp.utils.helpers import create_url, get_data_many from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_splits import ( - StockSplitCalendarData, - StockSplitCalendarQueryParams, +from openbb_provider.standard_models.calendar_splits import ( + CalendarSplitsData, + CalendarSplitsQueryParams, ) -class FMPStockSplitCalendarQueryParams(StockSplitCalendarQueryParams): - """FMP Stock Split Calendar query. +class FMPCalendarSplitsQueryParams(CalendarSplitsQueryParams): + """FMP Calendar Splits query. Source: https://site.financialmodelingprep.com/developer/docs/stock-split-calendar-api/ """ -class FMPStockSplitCalendarData(StockSplitCalendarData): - """FMP Stock Split Calendar data.""" +class FMPCalendarSplitsData(CalendarSplitsData): + """FMP Calendar Splits data.""" -class FMPStockSplitCalendarFetcher( +class FMPCalendarSplitsFetcher( Fetcher[ - FMPStockSplitCalendarQueryParams, - List[FMPStockSplitCalendarData], + FMPCalendarSplitsQueryParams, + List[FMPCalendarSplitsData], ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPStockSplitCalendarQueryParams: + def transform_query(params: Dict[str, Any]) -> FMPCalendarSplitsQueryParams: """Transform the query params. Start and end dates are set to a 1 year interval.""" transformed_params = params @@ -44,11 +44,11 @@ def transform_query(params: Dict[str, Any]) -> FMPStockSplitCalendarQueryParams: if params.get("end_date") is None: transformed_params["end_date"] = now - return FMPStockSplitCalendarQueryParams(**transformed_params) + return FMPCalendarSplitsQueryParams(**transformed_params) @staticmethod def extract_data( - query: FMPStockSplitCalendarQueryParams, + query: FMPCalendarSplitsQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -62,7 +62,7 @@ def extract_data( @staticmethod def transform_data( - query: FMPStockSplitCalendarQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPStockSplitCalendarData]: + query: FMPCalendarSplitsQueryParams, data: List[Dict], **kwargs: Any + ) -> List[FMPCalendarSplitsData]: """Return the transformed data.""" - return [FMPStockSplitCalendarData.model_validate(d) for d in data] + return [FMPCalendarSplitsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/disc_filings.py b/openbb_platform/providers/fmp/openbb_fmp/models/discovery_filings.py similarity index 100% rename from openbb_platform/providers/fmp/openbb_fmp/models/disc_filings.py rename to openbb_platform/providers/fmp/openbb_fmp/models/discovery_filings.py diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/stock_historical.py b/openbb_platform/providers/fmp/openbb_fmp/models/equity_historical.py similarity index 80% rename from openbb_platform/providers/fmp/openbb_fmp/models/stock_historical.py rename to openbb_platform/providers/fmp/openbb_fmp/models/equity_historical.py index 53fbd5feca26..31b1d14d0c16 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/stock_historical.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/equity_historical.py @@ -6,15 +6,15 @@ from dateutil.relativedelta import relativedelta from openbb_fmp.utils.helpers import get_data_many, get_interval from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_historical import ( - StockHistoricalData, - StockHistoricalQueryParams, +from openbb_provider.standard_models.equity_historical import ( + EquityHistoricalData, + EquityHistoricalQueryParams, ) from openbb_provider.utils.helpers import get_querystring from pydantic import Field, NonNegativeInt -class FMPStockHistoricalQueryParams(StockHistoricalQueryParams): +class FMPEquityHistoricalQueryParams(EquityHistoricalQueryParams): """FMP Stock end of day Query. Source: https://financialmodelingprep.com/developer/docs/#Stock-Historical-Price @@ -32,7 +32,7 @@ class FMPStockHistoricalQueryParams(StockHistoricalQueryParams): ) -class FMPStockHistoricalData(StockHistoricalData): +class FMPEquityHistoricalData(EquityHistoricalData): """FMP Stock end of day Data.""" label: Optional[str] = Field( @@ -57,16 +57,16 @@ class FMPStockHistoricalData(StockHistoricalData): ) -class FMPStockHistoricalFetcher( +class FMPEquityHistoricalFetcher( Fetcher[ - FMPStockHistoricalQueryParams, - List[FMPStockHistoricalData], + FMPEquityHistoricalQueryParams, + List[FMPEquityHistoricalData], ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPStockHistoricalQueryParams: + def transform_query(params: Dict[str, Any]) -> FMPEquityHistoricalQueryParams: """Transform the query params.""" transformed_params = params @@ -77,11 +77,11 @@ def transform_query(params: Dict[str, Any]) -> FMPStockHistoricalQueryParams: if params.get("end_date") is None: transformed_params["end_date"] = now - return FMPStockHistoricalQueryParams(**transformed_params) + return FMPEquityHistoricalQueryParams(**transformed_params) @staticmethod def extract_data( - query: FMPStockHistoricalQueryParams, + query: FMPEquityHistoricalQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -103,7 +103,7 @@ def extract_data( @staticmethod def transform_data( - query: FMPStockHistoricalQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPStockHistoricalData]: + query: FMPEquityHistoricalQueryParams, data: List[Dict], **kwargs: Any + ) -> List[FMPEquityHistoricalData]: """Return the transformed data.""" - return [FMPStockHistoricalData.model_validate(d) for d in data] + return [FMPEquityHistoricalData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/stock_ownership.py b/openbb_platform/providers/fmp/openbb_fmp/models/equity_ownership.py similarity index 63% rename from openbb_platform/providers/fmp/openbb_fmp/models/stock_ownership.py rename to openbb_platform/providers/fmp/openbb_fmp/models/equity_ownership.py index 528c1970aa76..a347e855084d 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/stock_ownership.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/equity_ownership.py @@ -1,4 +1,4 @@ -"""FMP Stock Ownership fetcher.""" +"""FMP Equity Ownership fetcher.""" from datetime import ( @@ -9,21 +9,22 @@ from openbb_fmp.utils.helpers import create_url, get_data_many, most_recent_quarter from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_ownership import ( - StockOwnershipData, - StockOwnershipQueryParams, +from openbb_provider.standard_models.equity_ownership import ( + EquityOwnershipData, + EquityOwnershipQueryParams, ) from pydantic import field_validator -class FMPStockOwnershipQueryParams(StockOwnershipQueryParams): - """FMP Stock Ownership query. +class FMPEquityOwnershipQueryParams(EquityOwnershipQueryParams): + """FMP Equity Ownership query. Source: https://site.financialmodelingprep.com/developer/docs/#Stock-Ownership-by-Holders """ @field_validator("date", mode="before", check_fields=True) - def time_validate(cls, v: str): # pylint: disable=E021 + @classmethod + def time_validate(cls, v: str): """Validate the date.""" if v is None: v = dateType.today() @@ -33,26 +34,26 @@ def time_validate(cls, v: str): # pylint: disable=E021 return most_recent_quarter(v) -class FMPStockOwnershipData(StockOwnershipData): - """FMP Stock Ownership Data.""" +class FMPEquityOwnershipData(EquityOwnershipData): + """FMP Equity Ownership Data.""" -class FMPStockOwnershipFetcher( +class FMPEquityOwnershipFetcher( Fetcher[ - FMPStockOwnershipQueryParams, - List[FMPStockOwnershipData], + FMPEquityOwnershipQueryParams, + List[FMPEquityOwnershipData], ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPStockOwnershipQueryParams: + def transform_query(params: Dict[str, Any]) -> FMPEquityOwnershipQueryParams: """Transform the query params.""" - return FMPStockOwnershipQueryParams(**params) + return FMPEquityOwnershipQueryParams(**params) @staticmethod def extract_data( - query: FMPStockOwnershipQueryParams, + query: FMPEquityOwnershipQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -69,9 +70,9 @@ def extract_data( @staticmethod def transform_data( - query: FMPStockOwnershipQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPStockOwnershipData]: + query: FMPEquityOwnershipQueryParams, data: List[Dict], **kwargs: Any + ) -> List[FMPEquityOwnershipData]: """Return the transformed data.""" - own = [FMPStockOwnershipData.model_validate(d) for d in data] + own = [FMPEquityOwnershipData.model_validate(d) for d in data] own.sort(key=lambda x: x.filing_date, reverse=True) return own diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/stock_peers.py b/openbb_platform/providers/fmp/openbb_fmp/models/equity_peers.py similarity index 56% rename from openbb_platform/providers/fmp/openbb_fmp/models/stock_peers.py rename to openbb_platform/providers/fmp/openbb_fmp/models/equity_peers.py index faf1882a5c7e..030087ae895d 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/stock_peers.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/equity_peers.py @@ -1,45 +1,45 @@ -"""FMP Stock Peers fetcher.""" +"""FMP Equity Peers fetcher.""" from typing import Any, Dict, Optional from openbb_fmp.utils.helpers import create_url, get_data_one from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_peers import ( - StockPeersData, - StockPeersQueryParams, +from openbb_provider.standard_models.equity_peers import ( + EquityPeersData, + EquityPeersQueryParams, ) # FMP SPECIFIC FUNCTIONALITY CURRENTLY -class FMPStockPeersQueryParams(StockPeersQueryParams): - """FMP Stock Peers query. +class FMPEquityPeersQueryParams(EquityPeersQueryParams): + """FMP Equity Peers query. Source: https://site.financialmodelingprep.com/developer/docs/#Stock-Peers """ -class FMPStockPeersData(StockPeersData): - """FMP Stock Peers data.""" +class FMPEquityPeersData(EquityPeersData): + """FMP Equity Peers data.""" -class FMPStockPeersFetcher( +class FMPEquityPeersFetcher( Fetcher[ - FMPStockPeersQueryParams, - FMPStockPeersData, + FMPEquityPeersQueryParams, + FMPEquityPeersData, ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPStockPeersQueryParams: + def transform_query(params: Dict[str, Any]) -> FMPEquityPeersQueryParams: """Transform the query params.""" - return FMPStockPeersQueryParams(**params) + return FMPEquityPeersQueryParams(**params) @staticmethod def extract_data( - query: FMPStockPeersQueryParams, + query: FMPEquityPeersQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> Dict: @@ -51,8 +51,8 @@ def extract_data( @staticmethod def transform_data( - query: FMPStockPeersQueryParams, data: dict, **kwargs: Any - ) -> FMPStockPeersData: + query: FMPEquityPeersQueryParams, data: dict, **kwargs: Any + ) -> FMPEquityPeersData: """Return the transformed data.""" data.pop("symbol") - return FMPStockPeersData.model_validate(data) + return FMPEquityPeersData.model_validate(data) diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/stock_quote.py b/openbb_platform/providers/fmp/openbb_fmp/models/equity_quote.py similarity index 85% rename from openbb_platform/providers/fmp/openbb_fmp/models/stock_quote.py rename to openbb_platform/providers/fmp/openbb_fmp/models/equity_quote.py index 267ddbe93469..4d03abdf9d0d 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/stock_quote.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/equity_quote.py @@ -7,21 +7,21 @@ from openbb_fmp.utils.helpers import get_data_many, get_querystring from openbb_provider.abstract.data import StrictInt from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_quote import ( - StockQuoteData, - StockQuoteQueryParams, +from openbb_provider.standard_models.equity_quote import ( + EquityQuoteData, + EquityQuoteQueryParams, ) from pydantic import Field, field_validator -class FMPStockQuoteQueryParams(StockQuoteQueryParams): +class FMPEquityQuoteQueryParams(EquityQuoteQueryParams): """FMP Stock end of day Query. Source: https://financialmodelingprep.com/developer/docs/#Stock-Historical-Price """ -class FMPStockQuoteData(StockQuoteData): +class FMPEquityQuoteData(EquityQuoteData): """FMP Stock end of day Data.""" __alias_dict__ = { @@ -94,22 +94,22 @@ def date_validate(cls, v): # pylint: disable=E0213 return datetime.strptime(v, "%Y-%m-%d") -class FMPStockQuoteFetcher( +class FMPEquityQuoteFetcher( Fetcher[ - FMPStockQuoteQueryParams, - List[FMPStockQuoteData], + FMPEquityQuoteQueryParams, + List[FMPEquityQuoteData], ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPStockQuoteQueryParams: + def transform_query(params: Dict[str, Any]) -> FMPEquityQuoteQueryParams: """Transform the query params.""" - return FMPStockQuoteQueryParams(**params) + return FMPEquityQuoteQueryParams(**params) @staticmethod def extract_data( - query: FMPStockQuoteQueryParams, + query: FMPEquityQuoteQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -124,7 +124,7 @@ def extract_data( @staticmethod def transform_data( - query: FMPStockQuoteQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPStockQuoteData]: + query: FMPEquityQuoteQueryParams, data: List[Dict], **kwargs: Any + ) -> List[FMPEquityQuoteData]: """Return the transformed data.""" - return [FMPStockQuoteData.model_validate(d) for d in data] + return [FMPEquityQuoteData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/stock_search.py b/openbb_platform/providers/fmp/openbb_fmp/models/equity_search.py similarity index 89% rename from openbb_platform/providers/fmp/openbb_fmp/models/stock_search.py rename to openbb_platform/providers/fmp/openbb_fmp/models/equity_search.py index ce76df059bdd..2e09bde15e5c 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/stock_search.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/equity_search.py @@ -1,4 +1,4 @@ -"""FMP Stock Search fetcher.""" +"""FMP Equity Search fetcher.""" from typing import Any, Dict, List, Literal, Optional @@ -6,15 +6,15 @@ from openbb_fmp.utils.definitions import EXCHANGES, SECTORS from openbb_fmp.utils.helpers import create_url, get_data from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_search import ( - StockSearchData, - StockSearchQueryParams, +from openbb_provider.standard_models.equity_search import ( + EquitySearchData, + EquitySearchQueryParams, ) from pydantic import Field -class FMPStockSearchQueryParams(StockSearchQueryParams): - """FMP Stock Search Query Params.""" +class FMPEquitySearchQueryParams(EquitySearchQueryParams): + """FMP Equity Search Query Params.""" __alias_dict__ = { "mktcap_min": "marketCapMoreThan", @@ -91,8 +91,8 @@ class FMPStockSearchQueryParams(StockSearchQueryParams): ) -class FMPStockSearchData(StockSearchData): - """FMP Stock Search Data.""" +class FMPEquitySearchData(EquitySearchData): + """FMP Equity Search Data.""" __alias_dict__ = { "name": "companyName", @@ -141,22 +141,22 @@ class FMPStockSearchData(StockSearchData): ) -class FMPStockSearchFetcher( +class FMPEquitySearchFetcher( Fetcher[ - FMPStockSearchQueryParams, - List[FMPStockSearchData], + FMPEquitySearchQueryParams, + List[FMPEquitySearchData], ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPStockSearchQueryParams: + def transform_query(params: Dict[str, Any]) -> FMPEquitySearchQueryParams: """Transform the query.""" - return FMPStockSearchQueryParams(**params) + return FMPEquitySearchQueryParams(**params) @staticmethod def extract_data( - query: FMPStockSearchQueryParams, + query: FMPEquitySearchQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -173,8 +173,8 @@ def extract_data( @staticmethod def transform_data( - query: FMPStockSearchQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPStockSearchData]: + query: FMPEquitySearchQueryParams, data: List[Dict], **kwargs: Any + ) -> List[FMPEquitySearchData]: """Return the transformed data.""" results = pd.DataFrame(data) if len(results) == 0: @@ -198,7 +198,7 @@ def transform_data( if results[col].dtype in ("int", "float"): results[col] = results[col].fillna(0).replace(0, None) return [ - FMPStockSearchData.model_validate(d) + FMPEquitySearchData.model_validate(d) for d in results.sort_values(by="marketCap", ascending=False).to_dict( "records" ) diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/stock_multiples.py b/openbb_platform/providers/fmp/openbb_fmp/models/equity_valuation_multiples.py similarity index 82% rename from openbb_platform/providers/fmp/openbb_fmp/models/stock_multiples.py rename to openbb_platform/providers/fmp/openbb_fmp/models/equity_valuation_multiples.py index 38549ae798b9..4e79237d4018 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/stock_multiples.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/equity_valuation_multiples.py @@ -1,4 +1,4 @@ -"""FMP Stock Multiples Fetcher.""" +"""FMP Equity Valuation Multiples Fetcher.""" from concurrent.futures import ThreadPoolExecutor from itertools import repeat @@ -6,21 +6,21 @@ from openbb_fmp.utils.helpers import create_url, get_data_many from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_multiples import ( - StockMultiplesData, - StockMultiplesQueryParams, +from openbb_provider.standard_models.equity_valuation_multiples import ( + EquityValuationMultiplesData, + EquityValuationMultiplesQueryParams, ) -class FMPStockMultiplesQueryParams(StockMultiplesQueryParams): - """FMP Stock Multiples Query. +class FMPEquityValuationMultiplesQueryParams(EquityValuationMultiplesQueryParams): + """FMP Equity Valuation Multiples Query. Source: https://site.financialmodelingprep.com/developer/docs/#Company-Key-Metrics """ -class FMPStockMultiplesData(StockMultiplesData): - """FMP Stock Multiples Data.""" +class FMPEquityValuationMultiplesData(EquityValuationMultiplesData): + """FMP Equity Valuation Multiples Data.""" __alias_dict__ = { "revenue_per_share_ttm": "revenuePerShareTTM", @@ -87,22 +87,24 @@ class FMPStockMultiplesData(StockMultiplesData): } -class FMPStockMultiplesFetcher( +class FMPEquityValuationMultiplesFetcher( Fetcher[ - FMPStockMultiplesQueryParams, - List[FMPStockMultiplesData], + FMPEquityValuationMultiplesQueryParams, + List[FMPEquityValuationMultiplesData], ] ): """Transform the query, extract and transform the data from the FMP endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPStockMultiplesQueryParams: + def transform_query( + params: Dict[str, Any] + ) -> FMPEquityValuationMultiplesQueryParams: """Transform the query params.""" - return FMPStockMultiplesQueryParams(**params) + return FMPEquityValuationMultiplesQueryParams(**params) @staticmethod def extract_data( - query: FMPStockMultiplesQueryParams, + query: FMPEquityValuationMultiplesQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -124,7 +126,7 @@ def multiple_symbols(symbol: str, data: List[Dict]) -> None: @staticmethod def transform_data( - query: FMPStockMultiplesQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPStockMultiplesData]: + query: FMPEquityValuationMultiplesQueryParams, data: List[Dict], **kwargs: Any + ) -> List[FMPEquityValuationMultiplesData]: """Return the transformed data.""" - return [FMPStockMultiplesData.model_validate(d) for d in data] + return [FMPEquityValuationMultiplesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/historical_stock_splits.py b/openbb_platform/providers/fmp/openbb_fmp/models/historical_splits.py similarity index 96% rename from openbb_platform/providers/fmp/openbb_fmp/models/historical_stock_splits.py rename to openbb_platform/providers/fmp/openbb_fmp/models/historical_splits.py index 4712589cafbd..73bd03437cee 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/historical_stock_splits.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/historical_splits.py @@ -6,7 +6,7 @@ from openbb_fmp.utils.helpers import create_url, get_data_many from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.historical_stock_splits import ( +from openbb_provider.standard_models.historical_splits import ( HistoricalStockSplitsData, HistoricalStockSplitsQueryParams, ) diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/price_target.py b/openbb_platform/providers/fmp/openbb_fmp/models/price_target.py index 8a0b0689261c..c4b0a8c5bd98 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/price_target.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/price_target.py @@ -1,4 +1,4 @@ -"""FMP Stock Ownership fetcher.""" +"""FMP Equity Ownership fetcher.""" from datetime import datetime diff --git a/openbb_platform/extensions/stocks/openbb_stocks/disc/__init__.py b/openbb_platform/providers/fmp/openbb_fmp/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/disc/__init__.py rename to openbb_platform/providers/fmp/openbb_fmp/py.typed diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_earnings_calendar_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_calendar_earnings_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_earnings_calendar_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_calendar_earnings_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_split_calendar_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_calendar_splits_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_split_calendar_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_calendar_splits_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_historical_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_historical_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_historical_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_historical_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_ownership_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_ownership_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_ownership_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_ownership_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_peers_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_peers_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_peers_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_peers_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_quote_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_quote_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_quote_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_quote_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_search_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_search_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_search_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_search_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_multiples_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_valuation_multiples_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_stock_multiples_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_equity_valuation_multiples_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_historical_stock_splits_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_historical_splits_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_historical_stock_splits_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_historical_splits_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py b/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py index b8ac70ae6e4c..6eb298703ac2 100644 --- a/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py +++ b/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py @@ -7,6 +7,8 @@ from openbb_fmp.models.balance_sheet import FMPBalanceSheetFetcher from openbb_fmp.models.balance_sheet_growth import FMPBalanceSheetGrowthFetcher from openbb_fmp.models.calendar_dividend import FMPDividendCalendarFetcher +from openbb_fmp.models.calendar_earnings import FMPCalendarEarningsFetcher +from openbb_fmp.models.calendar_splits import FMPCalendarSplitsFetcher from openbb_fmp.models.cash_flow import FMPCashFlowStatementFetcher from openbb_fmp.models.cash_flow_growth import FMPCashFlowStatementGrowthFetcher from openbb_fmp.models.company_filings import FMPCompanyFilingsFetcher @@ -16,10 +18,17 @@ from openbb_fmp.models.crypto_search import FMPCryptoSearchFetcher from openbb_fmp.models.currency_historical import FMPCurrencyHistoricalFetcher from openbb_fmp.models.currency_pairs import FMPCurrencyPairsFetcher -from openbb_fmp.models.disc_filings import FMPFilingsFetcher -from openbb_fmp.models.earnings_calendar import FMPEarningsCalendarFetcher +from openbb_fmp.models.discovery_filings import FMPFilingsFetcher from openbb_fmp.models.earnings_call_transcript import FMPEarningsCallTranscriptFetcher from openbb_fmp.models.economic_calendar import FMPEconomicCalendarFetcher +from openbb_fmp.models.equity_historical import FMPEquityHistoricalFetcher +from openbb_fmp.models.equity_ownership import FMPEquityOwnershipFetcher +from openbb_fmp.models.equity_peers import FMPEquityPeersFetcher +from openbb_fmp.models.equity_quote import FMPEquityQuoteFetcher +from openbb_fmp.models.equity_search import FMPEquitySearchFetcher +from openbb_fmp.models.equity_valuation_multiples import ( + FMPEquityValuationMultiplesFetcher, +) from openbb_fmp.models.etf_countries import FMPEtfCountriesFetcher from openbb_fmp.models.etf_holdings import FMPEtfHoldingsFetcher from openbb_fmp.models.etf_holdings_date import FMPEtfHoldingsDateFetcher @@ -32,7 +41,7 @@ from openbb_fmp.models.global_news import FMPGlobalNewsFetcher from openbb_fmp.models.historical_dividends import FMPHistoricalDividendsFetcher from openbb_fmp.models.historical_employees import FMPHistoricalEmployeesFetcher -from openbb_fmp.models.historical_stock_splits import FMPHistoricalStockSplitsFetcher +from openbb_fmp.models.historical_splits import FMPHistoricalStockSplitsFetcher from openbb_fmp.models.income_statement import FMPIncomeStatementFetcher from openbb_fmp.models.income_statement_growth import FMPIncomeStatementGrowthFetcher from openbb_fmp.models.institutional_ownership import FMPInstitutionalOwnershipFetcher @@ -50,14 +59,7 @@ from openbb_fmp.models.revenue_geographic import FMPRevenueGeographicFetcher from openbb_fmp.models.risk_premium import FMPRiskPremiumFetcher from openbb_fmp.models.share_statistics import FMPShareStatisticsFetcher -from openbb_fmp.models.stock_historical import FMPStockHistoricalFetcher from openbb_fmp.models.stock_insider_trading import FMPStockInsiderTradingFetcher -from openbb_fmp.models.stock_multiples import FMPStockMultiplesFetcher -from openbb_fmp.models.stock_ownership import FMPStockOwnershipFetcher -from openbb_fmp.models.stock_peers import FMPStockPeersFetcher -from openbb_fmp.models.stock_quote import FMPStockQuoteFetcher -from openbb_fmp.models.stock_search import FMPStockSearchFetcher -from openbb_fmp.models.stock_splits import FMPStockSplitCalendarFetcher from openbb_fmp.models.treasury_rates import FMPTreasuryRatesFetcher test_credentials = UserService().default_user_settings.credentials.model_dump( @@ -124,7 +126,7 @@ def test_fmp_major_indices_historical_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmp_stock_historical_fetcher(credentials=test_credentials): +def test_fmp_equity_historical_fetcher(credentials=test_credentials): params = { "symbol": "AAPL", "start_date": date(2023, 1, 1), @@ -132,7 +134,7 @@ def test_fmp_stock_historical_fetcher(credentials=test_credentials): "interval": "1d", } - fetcher = FMPStockHistoricalFetcher() + fetcher = FMPEquityHistoricalFetcher() result = fetcher.test(params, credentials) assert result is None @@ -282,10 +284,10 @@ def test_fmp_stock_insider_trading_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmp_stock_ownership_fetcher(credentials=test_credentials): +def test_fmp_equity_ownership_fetcher(credentials=test_credentials): params = {"symbol": "AAPL", "date": date(2022, 12, 31)} - fetcher = FMPStockOwnershipFetcher() + fetcher = FMPEquityOwnershipFetcher() result = fetcher.test(params, credentials) assert result is None @@ -318,10 +320,10 @@ def test_fmp_analyst_estimates_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmp_earnings_calendar_fetcher(credentials=test_credentials): +def test_fmp_calendar_earnings_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} - fetcher = FMPEarningsCalendarFetcher() + fetcher = FMPCalendarEarningsFetcher() result = fetcher.test(params, credentials) assert result is None @@ -336,7 +338,7 @@ def test_fmp_earnings_call_transcript_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmp_historical_stock_splits_fetcher(credentials=test_credentials): +def test_fmp_historical_splits_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} fetcher = FMPHistoricalStockSplitsFetcher() @@ -345,10 +347,10 @@ def test_fmp_historical_stock_splits_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmp_stock_split_calendar_fetcher(credentials=test_credentials): +def test_fmp_calendar_splits_fetcher(credentials=test_credentials): params = {"start_date": date(2023, 1, 1), "end_date": date(2023, 1, 10)} - fetcher = FMPStockSplitCalendarFetcher() + fetcher = FMPCalendarSplitsFetcher() result = fetcher.test(params, credentials) assert result is None @@ -399,19 +401,19 @@ def test_fmp_currency_pairs_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmp_stock_peers_fetcher(credentials=test_credentials): +def test_fmp_equity_peers_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} - fetcher = FMPStockPeersFetcher() + fetcher = FMPEquityPeersFetcher() result = fetcher.test(params, credentials) assert result is None @pytest.mark.record_http -def test_fmp_stock_multiples_fetcher(credentials=test_credentials): +def test_fmp_equity_valuation_multiples_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} - fetcher = FMPStockMultiplesFetcher() + fetcher = FMPEquityValuationMultiplesFetcher() result = fetcher.test(params, credentials) assert result is None @@ -453,19 +455,19 @@ def test_fmp_calendar_dividend_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmp_stock_quote_fetcher(credentials=test_credentials): +def test_fmp_equity_quote_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} - fetcher = FMPStockQuoteFetcher() + fetcher = FMPEquityQuoteFetcher() result = fetcher.test(params, credentials) assert result is None @pytest.mark.record_http -def test_fmp_stock_search_fetcher(credentials=test_credentials): +def test_fmp_equity_search_fetcher(credentials=test_credentials): params = {"query": "midstream", "sector": "Energy", "beta_max": 0.5} - fetcher = FMPStockSearchFetcher() + fetcher = FMPEquitySearchFetcher() result = fetcher.test(params, credentials) assert result is None diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py b/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py index 746df83a16a3..24c291c67448 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py @@ -5,13 +5,13 @@ from openbb_intrinio.models.cash_flow import IntrinioCashFlowStatementFetcher from openbb_intrinio.models.company_news import IntrinioCompanyNewsFetcher from openbb_intrinio.models.currency_pairs import IntrinioCurrencyPairsFetcher +from openbb_intrinio.models.equity_historical import IntrinioEquityHistoricalFetcher +from openbb_intrinio.models.equity_quote import IntrinioEquityQuoteFetcher from openbb_intrinio.models.fred_historical import IntrinioFredHistoricalFetcher from openbb_intrinio.models.global_news import IntrinioGlobalNewsFetcher from openbb_intrinio.models.income_statement import IntrinioIncomeStatementFetcher from openbb_intrinio.models.options_chains import IntrinioOptionsChainsFetcher from openbb_intrinio.models.options_unusual import IntrinioOptionsUnusualFetcher -from openbb_intrinio.models.stock_historical import IntrinioStockHistoricalFetcher -from openbb_intrinio.models.stock_quote import IntrinioStockQuoteFetcher from openbb_provider.abstract.provider import Provider intrinio_provider = Provider( @@ -26,12 +26,12 @@ "CashFlowStatement": IntrinioCashFlowStatementFetcher, "CompanyNews": IntrinioCompanyNewsFetcher, "CurrencyPairs": IntrinioCurrencyPairsFetcher, + "EquityHistorical": IntrinioEquityHistoricalFetcher, + "EquityQuote": IntrinioEquityQuoteFetcher, "FredHistorical": IntrinioFredHistoricalFetcher, "GlobalNews": IntrinioGlobalNewsFetcher, "IncomeStatement": IntrinioIncomeStatementFetcher, "OptionsChains": IntrinioOptionsChainsFetcher, "OptionsUnusual": IntrinioOptionsUnusualFetcher, - "StockHistorical": IntrinioStockHistoricalFetcher, - "StockQuote": IntrinioStockQuoteFetcher, }, ) diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/stock_historical.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py similarity index 88% rename from openbb_platform/providers/intrinio/openbb_intrinio/models/stock_historical.py rename to openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py index d4ca02aa013b..3250361f0792 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/stock_historical.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_historical.py @@ -6,16 +6,16 @@ from dateutil.relativedelta import relativedelta from openbb_intrinio.utils.helpers import get_data_one from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_historical import ( - StockHistoricalData, - StockHistoricalQueryParams, +from openbb_provider.standard_models.equity_historical import ( + EquityHistoricalData, + EquityHistoricalQueryParams, ) from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS from openbb_provider.utils.helpers import get_querystring from pydantic import Field, PrivateAttr, model_validator -class IntrinioStockHistoricalQueryParams(StockHistoricalQueryParams): +class IntrinioEquityHistoricalQueryParams(EquityHistoricalQueryParams): """Intrinio Stock end of day Query. Source: https://docs.intrinio.com/documentation/web_api/get_security_interval_prices_v2 @@ -49,11 +49,11 @@ class IntrinioStockHistoricalQueryParams(StockHistoricalQueryParams): "daily", "weekly", "monthly", "quarterly", "yearly" ] = PrivateAttr(default=None) + # pylint: disable=protected-access @model_validator(mode="after") @classmethod - def set_time_params(cls, values: "IntrinioStockHistoricalQueryParams"): + def set_time_params(cls, values: "IntrinioEquityHistoricalQueryParams"): """Set the default start & end date and time params for Intrinio API.""" - frequency_dict = { "1d": "daily", "1W": "weekly", @@ -70,7 +70,7 @@ def set_time_params(cls, values: "IntrinioStockHistoricalQueryParams"): return values -class IntrinioStockHistoricalData(StockHistoricalData): +class IntrinioEquityHistoricalData(EquityHistoricalData): """Intrinio Stock end of day Data.""" __alias_dict__ = {"date": "time"} @@ -147,16 +147,16 @@ class IntrinioStockHistoricalData(StockHistoricalData): ) -class IntrinioStockHistoricalFetcher( +class IntrinioEquityHistoricalFetcher( Fetcher[ - IntrinioStockHistoricalQueryParams, - List[IntrinioStockHistoricalData], + IntrinioEquityHistoricalQueryParams, + List[IntrinioEquityHistoricalData], ] ): """Transform the query, extract and transform the data from the Intrinio endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> IntrinioStockHistoricalQueryParams: + def transform_query(params: Dict[str, Any]) -> IntrinioEquityHistoricalQueryParams: """Transform the query params.""" transformed_params = params @@ -173,11 +173,12 @@ def transform_query(params: Dict[str, Any]) -> IntrinioStockHistoricalQueryParam if params.get("end_time") is None: transformed_params["end_time"] = time(23, 59, 59) - return IntrinioStockHistoricalQueryParams(**transformed_params) + return IntrinioEquityHistoricalQueryParams(**transformed_params) + # pylint: disable=protected-access @staticmethod def extract_data( - query: IntrinioStockHistoricalQueryParams, + query: IntrinioEquityHistoricalQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -216,7 +217,7 @@ def extract_data( @staticmethod def transform_data( - query: IntrinioStockHistoricalQueryParams, data: List[Dict], **kwargs: Any - ) -> List[IntrinioStockHistoricalData]: + query: IntrinioEquityHistoricalQueryParams, data: List[Dict], **kwargs: Any + ) -> List[IntrinioEquityHistoricalData]: """Return the transformed data.""" - return [IntrinioStockHistoricalData.model_validate(d) for d in data] + return [IntrinioEquityHistoricalData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/stock_quote.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_quote.py similarity index 84% rename from openbb_platform/providers/intrinio/openbb_intrinio/models/stock_quote.py rename to openbb_platform/providers/intrinio/openbb_intrinio/models/equity_quote.py index 9418dec6b04b..b41de65ef352 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/stock_quote.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/equity_quote.py @@ -1,4 +1,4 @@ -"""Intrinio Stock Quote fetcher.""" +"""Intrinio Equity Quote fetcher.""" from datetime import datetime from typing import Any, Dict, List, Optional @@ -6,15 +6,15 @@ from openbb_intrinio.utils.helpers import get_data_one from openbb_intrinio.utils.references import SOURCES from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_quote import ( - StockQuoteData, - StockQuoteQueryParams, +from openbb_provider.standard_models.equity_quote import ( + EquityQuoteData, + EquityQuoteQueryParams, ) from pydantic import Field, field_validator -class IntrinioStockQuoteQueryParams(StockQuoteQueryParams): - """Intrinio Stock Quote Query. +class IntrinioEquityQuoteQueryParams(EquityQuoteQueryParams): + """Intrinio Equity Quote Query. Source: https://docs.intrinio.com/documentation/web_api/get_security_realtime_price_v2 """ @@ -25,8 +25,8 @@ class IntrinioStockQuoteQueryParams(StockQuoteQueryParams): source: SOURCES = Field(default="iex", description="Source of the data.") -class IntrinioStockQuoteData(StockQuoteData): - """Intrinio Stock Quote Data.""" +class IntrinioEquityQuoteData(EquityQuoteData): + """Intrinio Equity Quote Data.""" __alias_dict__ = { "day_low": "low_price", @@ -100,22 +100,22 @@ def date_validate(cls, v): # pylint: disable=E0213 ) -class IntrinioStockQuoteFetcher( +class IntrinioEquityQuoteFetcher( Fetcher[ - IntrinioStockQuoteQueryParams, - IntrinioStockQuoteData, + IntrinioEquityQuoteQueryParams, + IntrinioEquityQuoteData, ] ): """Transform the query, extract and transform the data from the Intrinio endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> IntrinioStockQuoteQueryParams: + def transform_query(params: Dict[str, Any]) -> IntrinioEquityQuoteQueryParams: """Transform the query params.""" - return IntrinioStockQuoteQueryParams(**params) + return IntrinioEquityQuoteQueryParams(**params) @staticmethod def extract_data( - query: IntrinioStockQuoteQueryParams, + query: IntrinioEquityQuoteQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> Dict: @@ -129,7 +129,7 @@ def extract_data( @staticmethod def transform_data( - query: IntrinioStockQuoteQueryParams, data: dict, **kwargs: Any - ) -> IntrinioStockQuoteData: + query: IntrinioEquityQuoteQueryParams, data: dict, **kwargs: Any + ) -> IntrinioEquityQuoteData: """Return the transformed data.""" - return IntrinioStockQuoteData.model_validate(data) + return IntrinioEquityQuoteData.model_validate(data) diff --git a/openbb_platform/extensions/stocks/openbb_stocks/dps/__init__.py b/openbb_platform/providers/intrinio/openbb_intrinio/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/dps/__init__.py rename to openbb_platform/providers/intrinio/openbb_intrinio/py.typed diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_stock_historical_fetcher.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_historical_fetcher.yaml similarity index 100% rename from openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_stock_historical_fetcher.yaml rename to openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_historical_fetcher.yaml diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_stock_quote_fetcher.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_quote_fetcher.yaml similarity index 100% rename from openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_stock_quote_fetcher.yaml rename to openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_equity_quote_fetcher.yaml diff --git a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py b/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py index 07056fec8fe9..202300ed5a0b 100644 --- a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py +++ b/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py @@ -7,13 +7,13 @@ from openbb_intrinio.models.cash_flow import IntrinioCashFlowStatementFetcher from openbb_intrinio.models.company_news import IntrinioCompanyNewsFetcher from openbb_intrinio.models.currency_pairs import IntrinioCurrencyPairsFetcher +from openbb_intrinio.models.equity_historical import IntrinioEquityHistoricalFetcher +from openbb_intrinio.models.equity_quote import IntrinioEquityQuoteFetcher from openbb_intrinio.models.fred_historical import IntrinioFredHistoricalFetcher from openbb_intrinio.models.global_news import IntrinioGlobalNewsFetcher from openbb_intrinio.models.income_statement import IntrinioIncomeStatementFetcher from openbb_intrinio.models.options_chains import IntrinioOptionsChainsFetcher from openbb_intrinio.models.options_unusual import IntrinioOptionsUnusualFetcher -from openbb_intrinio.models.stock_historical import IntrinioStockHistoricalFetcher -from openbb_intrinio.models.stock_quote import IntrinioStockQuoteFetcher test_credentials = UserService().default_user_settings.credentials.model_dump( mode="json" @@ -31,7 +31,7 @@ def vcr_config(): @pytest.mark.record_http -def test_intrinio_stock_historical_fetcher(credentials=test_credentials): +def test_intrinio_equity_historical_fetcher(credentials=test_credentials): params = { "symbol": "AAPL", "start_date": date(2023, 1, 1), @@ -39,7 +39,7 @@ def test_intrinio_stock_historical_fetcher(credentials=test_credentials): "interval": "1d", } - fetcher = IntrinioStockHistoricalFetcher() + fetcher = IntrinioEquityHistoricalFetcher() result = fetcher.test(params, credentials) assert result is None @@ -72,10 +72,10 @@ def test_intrinio_global_news_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_intrinio_stock_quote_fetcher(credentials=test_credentials): +def test_intrinio_equity_quote_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} - fetcher = IntrinioStockQuoteFetcher() + fetcher = IntrinioEquityQuoteFetcher() result = fetcher.test(params, credentials) assert result is None diff --git a/openbb_platform/providers/polygon/openbb_polygon/__init__.py b/openbb_platform/providers/polygon/openbb_polygon/__init__.py index 52bb1dcfa9ae..3e44c40b3fc2 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/__init__.py +++ b/openbb_platform/providers/polygon/openbb_polygon/__init__.py @@ -5,13 +5,13 @@ from openbb_polygon.models.crypto_historical import PolygonCryptoHistoricalFetcher from openbb_polygon.models.currency_historical import PolygonCurrencyHistoricalFetcher from openbb_polygon.models.currency_pairs import PolygonCurrencyPairsFetcher +from openbb_polygon.models.equity_historical import PolygonEquityHistoricalFetcher +from openbb_polygon.models.equity_nbbo import PolygonEquityNBBOFetcher from openbb_polygon.models.income_statement import PolygonIncomeStatementFetcher from openbb_polygon.models.major_indices_historical import ( PolygonMajorIndicesHistoricalFetcher, ) from openbb_polygon.models.market_snapshots import PolygonMarketSnapshotsFetcher -from openbb_polygon.models.stock_historical import PolygonStockHistoricalFetcher -from openbb_polygon.models.stock_nbbo import PolygonStockNBBOFetcher from openbb_provider.abstract.provider import Provider polygon_provider = Provider( @@ -28,10 +28,10 @@ "CryptoHistorical": PolygonCryptoHistoricalFetcher, "CurrencyHistorical": PolygonCurrencyHistoricalFetcher, "CurrencyPairs": PolygonCurrencyPairsFetcher, + "EquityHistorical": PolygonEquityHistoricalFetcher, + "EquityNBBO": PolygonEquityNBBOFetcher, "IncomeStatement": PolygonIncomeStatementFetcher, "MajorIndicesHistorical": PolygonMajorIndicesHistoricalFetcher, "MarketSnapshots": PolygonMarketSnapshotsFetcher, - "StockHistorical": PolygonStockHistoricalFetcher, - "StockNBBO": PolygonStockNBBOFetcher, }, ) diff --git a/openbb_platform/providers/polygon/openbb_polygon/models/stock_historical.py b/openbb_platform/providers/polygon/openbb_polygon/models/equity_historical.py similarity index 76% rename from openbb_platform/providers/polygon/openbb_polygon/models/stock_historical.py rename to openbb_platform/providers/polygon/openbb_polygon/models/equity_historical.py index 4e71ad980608..c24afbb74142 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/models/stock_historical.py +++ b/openbb_platform/providers/polygon/openbb_polygon/models/equity_historical.py @@ -9,9 +9,9 @@ from dateutil.relativedelta import relativedelta from openbb_polygon.utils.helpers import get_data from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_historical import ( - StockHistoricalData, - StockHistoricalQueryParams, +from openbb_provider.standard_models.equity_historical import ( + EquityHistoricalData, + EquityHistoricalQueryParams, ) from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS from pydantic import ( @@ -22,7 +22,7 @@ ) -class PolygonStockHistoricalQueryParams(StockHistoricalQueryParams): +class PolygonEquityHistoricalQueryParams(EquityHistoricalQueryParams): """Polygon stocks end of day Query. Source: https://polygon.io/docs/stocks/getting-started @@ -44,11 +44,11 @@ class PolygonStockHistoricalQueryParams(StockHistoricalQueryParams): _multiplier: PositiveInt = PrivateAttr(default=None) _timespan: str = PrivateAttr(default=None) + # pylint: disable=protected-access @model_validator(mode="after") @classmethod - def get_api_interval_params(cls, values: "PolygonStockHistoricalQueryParams"): + def get_api_interval_params(cls, values: "PolygonEquityHistoricalQueryParams"): """Get the multiplier and timespan parameters for the Polygon API.""" - intervals = { "s": "second", "m": "minute", @@ -66,7 +66,7 @@ def get_api_interval_params(cls, values: "PolygonStockHistoricalQueryParams"): return values -class PolygonStockHistoricalData(StockHistoricalData): +class PolygonEquityHistoricalData(EquityHistoricalData): """Polygon stocks end of day Data.""" __alias_dict__ = { @@ -86,14 +86,17 @@ class PolygonStockHistoricalData(StockHistoricalData): ) -class PolygonStockHistoricalFetcher( +class PolygonEquityHistoricalFetcher( Fetcher[ - PolygonStockHistoricalQueryParams, - List[PolygonStockHistoricalData], + PolygonEquityHistoricalQueryParams, + List[PolygonEquityHistoricalData], ] ): + """Equity Historical Price Fetcher.""" + @staticmethod - def transform_query(params: Dict[str, Any]) -> PolygonStockHistoricalQueryParams: + def transform_query(params: Dict[str, Any]) -> PolygonEquityHistoricalQueryParams: + """Transform the query. Setting the start and end dates for a 1 year period.""" now = datetime.now().date() transformed_params = params if params.get("start_date") is None: @@ -102,23 +105,25 @@ def transform_query(params: Dict[str, Any]) -> PolygonStockHistoricalQueryParams if params.get("end_date") is None: transformed_params["end_date"] = now - return PolygonStockHistoricalQueryParams(**transformed_params) + return PolygonEquityHistoricalQueryParams(**transformed_params) @staticmethod def extract_data( - query: PolygonStockHistoricalQueryParams, + query: PolygonEquityHistoricalQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: + """Return the raw data from the Polygon endpoint.""" api_key = credentials.get("polygon_api_key") if credentials else "" data: List = [] def multiple_symbols( - symbol: str, data: List[PolygonStockHistoricalData] + symbol: str, data: List[PolygonEquityHistoricalData] ) -> None: results: List = [] + # pylint: disable=protected-access url = ( "https://api.polygon.io/v2/aggs/ticker/" f"{symbol.upper()}/range/{query._multiplier}/{query._timespan}/" @@ -153,8 +158,9 @@ def multiple_symbols( @staticmethod def transform_data( - query: PolygonStockHistoricalQueryParams, + query: PolygonEquityHistoricalQueryParams, data: List[dict], **kwargs: Any, - ) -> List[PolygonStockHistoricalData]: - return [PolygonStockHistoricalData.model_validate(d) for d in data] + ) -> List[PolygonEquityHistoricalData]: + """Transform the data from the Polygon endpoint.""" + return [PolygonEquityHistoricalData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/polygon/openbb_polygon/models/stock_nbbo.py b/openbb_platform/providers/polygon/openbb_polygon/models/equity_nbbo.py similarity index 90% rename from openbb_platform/providers/polygon/openbb_polygon/models/stock_nbbo.py rename to openbb_platform/providers/polygon/openbb_polygon/models/equity_nbbo.py index 7826960cca64..edb307161836 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/models/stock_nbbo.py +++ b/openbb_platform/providers/polygon/openbb_polygon/models/equity_nbbo.py @@ -1,4 +1,4 @@ -"""Polygon Stock NBBO Model.""" +"""Polygon Equity NBBO Model.""" from datetime import ( date as dateType, @@ -8,9 +8,9 @@ from openbb_polygon.utils.helpers import get_data_one, map_tape from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_nbbo import ( - StockNBBOData, - StockNBBOQueryParams, +from openbb_provider.standard_models.equity_nbbo import ( + EquityNBBOData, + EquityNBBOQueryParams, ) from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS from openbb_provider.utils.helpers import get_querystring @@ -18,8 +18,8 @@ from pydantic import Field, field_validator -class PolygonStockNBBOQueryParams(StockNBBOQueryParams): - """Polygon Stock NBBO query params. +class PolygonEquityNBBOQueryParams(EquityNBBOQueryParams): + """Polygon Equity NBBO query params. Source: https://polygon.io/docs/stocks/get_v3_quotes__stockticker """ @@ -81,8 +81,8 @@ def capping_limit(cls, v): return 10000000 if v > 10000000 else v -class PolygonStockNBBOData(StockNBBOData): - """Polygon Stock NBBO data.""" +class PolygonEquityNBBOData(EquityNBBOData): + """Polygon Equity NBBO data.""" __alias_dict__ = {"ask": "ask_price", "bid": "bid_price"} @@ -143,19 +143,19 @@ def date_validate(cls, v): # pylint: disable=E0213 ) -class PolygonStockNBBOFetcher( - Fetcher[PolygonStockNBBOQueryParams, List[PolygonStockNBBOData]] +class PolygonEquityNBBOFetcher( + Fetcher[PolygonEquityNBBOQueryParams, List[PolygonEquityNBBOData]] ): """Transform the query, extract and transform the data from the Polygon endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> PolygonStockNBBOQueryParams: + def transform_query(params: Dict[str, Any]) -> PolygonEquityNBBOQueryParams: """Transform the query parameters.""" - return PolygonStockNBBOQueryParams(**params) + return PolygonEquityNBBOQueryParams(**params) @staticmethod def extract_data( - query: PolygonStockNBBOQueryParams, + query: PolygonEquityNBBOQueryParams, credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: @@ -210,9 +210,9 @@ def extract_data( @staticmethod def transform_data( - query: PolygonStockNBBOQueryParams, + query: PolygonEquityNBBOQueryParams, data: List[Dict], **kwargs: Any, - ) -> List[PolygonStockNBBOData]: + ) -> List[PolygonEquityNBBOData]: """Transform the data.""" - return [PolygonStockNBBOData.model_validate(d) for d in data] + return [PolygonEquityNBBOData.model_validate(d) for d in data] diff --git a/openbb_platform/extensions/stocks/openbb_stocks/fa/__init__.py b/openbb_platform/providers/polygon/openbb_polygon/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/fa/__init__.py rename to openbb_platform/providers/polygon/openbb_polygon/py.typed diff --git a/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_stock_historical_fetcher.yaml b/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_equity_historical_fetcher.yaml similarity index 100% rename from openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_stock_historical_fetcher.yaml rename to openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_equity_historical_fetcher.yaml diff --git a/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_stock_nbbo_fetcher.yaml b/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_equity_nbbo_fetcher.yaml similarity index 100% rename from openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_stock_nbbo_fetcher.yaml rename to openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_equity_nbbo_fetcher.yaml diff --git a/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py b/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py index 1a42ce63646e..ee34d164571b 100644 --- a/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py +++ b/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py @@ -8,13 +8,13 @@ from openbb_polygon.models.crypto_historical import PolygonCryptoHistoricalFetcher from openbb_polygon.models.currency_historical import PolygonCurrencyHistoricalFetcher from openbb_polygon.models.currency_pairs import PolygonCurrencyPairsFetcher +from openbb_polygon.models.equity_historical import PolygonEquityHistoricalFetcher +from openbb_polygon.models.equity_nbbo import PolygonEquityNBBOFetcher from openbb_polygon.models.income_statement import PolygonIncomeStatementFetcher from openbb_polygon.models.major_indices_historical import ( PolygonMajorIndicesHistoricalFetcher, ) from openbb_polygon.models.market_snapshots import PolygonMarketSnapshotsFetcher -from openbb_polygon.models.stock_historical import PolygonStockHistoricalFetcher -from openbb_polygon.models.stock_nbbo import PolygonStockNBBOFetcher test_credentials = UserService().default_user_settings.credentials.model_dump( mode="json" @@ -32,7 +32,7 @@ def vcr_config(): @pytest.mark.record_http -def test_polygon_stock_historical_fetcher(credentials=test_credentials): +def test_polygon_equity_historical_fetcher(credentials=test_credentials): params = { "symbol": "AAPL", "start_date": date(2023, 1, 1), @@ -40,7 +40,7 @@ def test_polygon_stock_historical_fetcher(credentials=test_credentials): "interval": "1d", } - fetcher = PolygonStockHistoricalFetcher() + fetcher = PolygonEquityHistoricalFetcher() result = fetcher.test(params, credentials) assert result is None @@ -130,10 +130,10 @@ def test_polygon_currency_pairs_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_polygon_stock_nbbo_fetcher(credentials=test_credentials): +def test_polygon_equity_nbbo_fetcher(credentials=test_credentials): params = {"symbol": "SPY", "limit": 1000} - fetcher = PolygonStockNBBOFetcher() + fetcher = PolygonEquityNBBOFetcher() result = fetcher.test(params, credentials) assert result is None diff --git a/openbb_platform/providers/sec/openbb_sec/__init__.py b/openbb_platform/providers/sec/openbb_sec/__init__.py index 3c1f32981737..b7b9b51dcf33 100644 --- a/openbb_platform/providers/sec/openbb_sec/__init__.py +++ b/openbb_platform/providers/sec/openbb_sec/__init__.py @@ -2,12 +2,12 @@ from openbb_provider.abstract.provider import Provider from openbb_sec.models.cik_map import SecCikMapFetcher from openbb_sec.models.company_filings import SecCompanyFilingsFetcher +from openbb_sec.models.equity_ftd import SecEquityFtdFetcher +from openbb_sec.models.equity_search import SecEquitySearchFetcher from openbb_sec.models.institutions_search import SecInstitutionsSearchFetcher from openbb_sec.models.rss_litigation import SecRssLitigationFetcher from openbb_sec.models.schema_files import SecSchemaFilesFetcher from openbb_sec.models.sic_search import SecSicSearchFetcher -from openbb_sec.models.stock_ftd import SecStockFtdFetcher -from openbb_sec.models.stock_search import SecStockSearchFetcher from openbb_sec.models.symbol_map import SecSymbolMapFetcher sec_provider = Provider( @@ -18,13 +18,13 @@ fetcher_dict={ "CikMap": SecCikMapFetcher, "CompanyFilings": SecCompanyFilingsFetcher, + "EquityFTD": SecEquityFtdFetcher, + "EquitySearch": SecEquitySearchFetcher, "Filings": SecCompanyFilingsFetcher, "InstitutionsSearch": SecInstitutionsSearchFetcher, + "RssLitigation": SecRssLitigationFetcher, "SchemaFiles": SecSchemaFilesFetcher, "SicSearch": SecSicSearchFetcher, - "StockFTD": SecStockFtdFetcher, - "StockSearch": SecStockSearchFetcher, "SymbolMap": SecSymbolMapFetcher, - "RssLitigation": SecRssLitigationFetcher, }, ) diff --git a/openbb_platform/providers/sec/openbb_sec/models/cik_map.py b/openbb_platform/providers/sec/openbb_sec/models/cik_map.py index 8dd96df4456d..77fc5f7fca36 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/cik_map.py +++ b/openbb_platform/providers/sec/openbb_sec/models/cik_map.py @@ -1,16 +1,15 @@ """SEC CIK Mapping Tool.""" - from typing import Any, Dict, Optional, Union from openbb_provider.abstract.data import Data from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_info import StockInfoQueryParams +from openbb_provider.standard_models.equity_info import EquityInfoQueryParams from openbb_sec.utils.helpers import symbol_map from pydantic import Field -class SecCikMapQueryParams(StockInfoQueryParams): +class SecCikMapQueryParams(EquityInfoQueryParams): """SEC Company or Institutions Search query. This function assists with mapping the CIK number to a company.""" @@ -37,17 +36,19 @@ def transform_query(params: Dict[str, Any]) -> SecCikMapQueryParams: @staticmethod def extract_data( - query: SecCikMapQueryParams, + query: SecCikMapQueryParams, # pylint: disable=W0613:unused-argument credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> Dict: """Return the raw data from the SEC endpoint.""" results = {"cik": symbol_map(query.symbol)} - if results == {}: + if not results: return {"Error": "Symbol not found."} return results @staticmethod - def transform_data(data: Dict, **kwargs: Any) -> SecCikMapData: + def transform_data( + query: SecCikMapQueryParams, data: Dict, **kwargs: Any + ) -> SecCikMapData: """Transform the data to the standard format.""" return SecCikMapData.model_validate(data) diff --git a/openbb_platform/providers/sec/openbb_sec/models/company_filings.py b/openbb_platform/providers/sec/openbb_sec/models/company_filings.py index d69b73128d20..22e63db0d764 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/company_filings.py +++ b/openbb_platform/providers/sec/openbb_sec/models/company_filings.py @@ -135,12 +135,11 @@ def transform_query(params: Dict[str, Any]) -> SecCompanyFilingsQueryParams: @staticmethod def extract_data( - query: SecCompanyFilingsQueryParams, + query: SecCompanyFilingsQueryParams, # pylint: disable=unused-argument credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: """Extracts the data from the SEC endpoint.""" - filings = pd.DataFrame() if query.symbol and not query.cik: @@ -228,6 +227,8 @@ def extract_data( return filings.to_dict("records") @staticmethod - def transform_data(data: List[Dict], **kwargs: Any) -> List[SecCompanyFilingsData]: + def transform_data( + query: SecCompanyFilingsQueryParams, data: List[Dict], **kwargs: Any + ) -> List[SecCompanyFilingsData]: """Transforms the data.""" return [SecCompanyFilingsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/sec/openbb_sec/models/stock_ftd.py b/openbb_platform/providers/sec/openbb_sec/models/equity_ftd.py similarity index 66% rename from openbb_platform/providers/sec/openbb_sec/models/stock_ftd.py rename to openbb_platform/providers/sec/openbb_sec/models/equity_ftd.py index bf28f793817d..d812fb65bd76 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/stock_ftd.py +++ b/openbb_platform/providers/sec/openbb_sec/models/equity_ftd.py @@ -1,16 +1,19 @@ -""" SEC Stock FTD Model """ +"""SEC Equity FTD Model.""" import concurrent.futures from typing import Any, Dict, List, Optional from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_ftd import StockFtdData, StockFtdQueryParams +from openbb_provider.standard_models.equity_ftd import ( + EquityFtdData, + EquityFtdQueryParams, +) from openbb_sec.utils.helpers import download_zip_file, get_ftd_urls from pydantic import Field -class SecStockFtdQueryParams(StockFtdQueryParams): - """SEC Stock FTD Query Params.""" +class SecEquityFtdQueryParams(EquityFtdQueryParams): + """SEC Equity FTD Query Params.""" limit: Optional[int] = Field( description=""" @@ -27,31 +30,30 @@ class SecStockFtdQueryParams(StockFtdQueryParams): ) -class SecStockFtdData(StockFtdData): +class SecEquityFtdData(EquityFtdData): """SEC FTD Data.""" -class SecStockFtdFetcher( +class SecEquityFtdFetcher( Fetcher[ - SecStockFtdQueryParams, - List[SecStockFtdData], + SecEquityFtdQueryParams, + List[SecEquityFtdData], ] ): """SEC FTD Fetcher.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> SecStockFtdQueryParams: + def transform_query(params: Dict[str, Any]) -> SecEquityFtdQueryParams: """Transform query params.""" - return SecStockFtdQueryParams(**params) + return SecEquityFtdQueryParams(**params) @staticmethod def extract_data( - query: SecStockFtdQueryParams, + query: SecEquityFtdQueryParams, # pylint: disable=unused-argument credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: """Extracts the data from the SEC website.""" - results = [] limit = query.limit if query.limit is not None and query.limit > 0 else 0 symbol = query.symbol.upper() @@ -62,7 +64,7 @@ def extract_data( urls = ( urls[:limit] if not query.skip_reports - else urls[query.skip_reports : limit + query.skip_reports] + else urls[query.skip_reports : limit + query.skip_reports] # noqa: E203 ) with concurrent.futures.ThreadPoolExecutor() as executor: @@ -75,5 +77,8 @@ def extract_data( return results @staticmethod - def transform_data(data: List[Dict], **kwargs: Any) -> List[SecStockFtdData]: - return [SecStockFtdData.model_validate(d) for d in data] + def transform_data( + query: SecEquityFtdQueryParams, data: List[Dict], **kwargs: Any + ) -> List[SecEquityFtdData]: + """Transforms the data to the standard format.""" + return [SecEquityFtdData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/sec/openbb_sec/models/stock_search.py b/openbb_platform/providers/sec/openbb_sec/models/equity_search.py similarity index 75% rename from openbb_platform/providers/sec/openbb_sec/models/stock_search.py rename to openbb_platform/providers/sec/openbb_sec/models/equity_search.py index 266690c221f2..fb236e98edc0 100644 --- a/openbb_platform/providers/sec/openbb_sec/models/stock_search.py +++ b/openbb_platform/providers/sec/openbb_sec/models/equity_search.py @@ -4,9 +4,9 @@ from typing import Any, Dict, List, Optional from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_search import ( - StockSearchData, - StockSearchQueryParams, +from openbb_provider.standard_models.equity_search import ( + EquitySearchData, + EquitySearchQueryParams, ) from openbb_sec.utils.helpers import ( get_all_companies, @@ -16,7 +16,7 @@ from pydantic import Field -class SecStockSearchQueryParams(StockSearchQueryParams): +class SecEquitySearchQueryParams(EquitySearchQueryParams): """SEC Company or Institution Search query. This function assists with mapping the CIK number to a company. Source: https://sec.gov/ @@ -32,34 +32,33 @@ class SecStockSearchQueryParams(StockSearchQueryParams): ) -class SecStockSearchData(StockSearchData): +class SecEquitySearchData(EquitySearchData): """SEC Company Search Data.""" name: Optional[str] = Field(default=None) cik: str = Field(description="Central Index Key") -class SecStockSearchFetcher( +class SecEquitySearchFetcher( Fetcher[ - SecStockSearchQueryParams, - List[SecStockSearchData], + SecEquitySearchQueryParams, + List[SecEquitySearchData], ] ): """Transform the query, extract and transform the data from the CBOE endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> SecStockSearchQueryParams: + def transform_query(params: Dict[str, Any]) -> SecEquitySearchQueryParams: """Transform the query.""" - return SecStockSearchQueryParams(**params) + return SecEquitySearchQueryParams(**params) @staticmethod def extract_data( - query: SecStockSearchQueryParams, + query: SecEquitySearchQueryParams, # pylint: disable=unused-argument credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: """Return the raw data from the SEC endpoint.""" - results = DataFrame() if query.is_fund is True: @@ -83,6 +82,8 @@ def extract_data( return results.astype(str).to_dict("records") @staticmethod - def transform_data(data: Dict, **kwargs: Any) -> List[SecStockSearchData]: + def transform_data( + query: SecEquitySearchQueryParams, data: Dict, **kwargs: Any + ) -> List[SecEquitySearchData]: """Transform the data to the standard format.""" - return [SecStockSearchData.model_validate(d) for d in data] + return [SecEquitySearchData.model_validate(d) for d in data] diff --git a/openbb_platform/extensions/stocks/openbb_stocks/gov/__init__.py b/openbb_platform/providers/sec/openbb_sec/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/gov/__init__.py rename to openbb_platform/providers/sec/openbb_sec/py.typed diff --git a/openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_stock_ftd_fetcher.yaml b/openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_equity_ftd_fetcher.yaml similarity index 100% rename from openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_stock_ftd_fetcher.yaml rename to openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_equity_ftd_fetcher.yaml diff --git a/openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_stock_search_fetcher.yaml b/openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_equity_search_fetcher.yaml similarity index 100% rename from openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_stock_search_fetcher.yaml rename to openbb_platform/providers/sec/tests/record/http/test_sec_fetchers/test_sec_equity_search_fetcher.yaml diff --git a/openbb_platform/providers/sec/tests/test_sec_fetchers.py b/openbb_platform/providers/sec/tests/test_sec_fetchers.py index 656531eeecc3..263f3b67b3e4 100644 --- a/openbb_platform/providers/sec/tests/test_sec_fetchers.py +++ b/openbb_platform/providers/sec/tests/test_sec_fetchers.py @@ -2,12 +2,12 @@ from openbb_core.app.service.user_service import UserService from openbb_sec.models.cik_map import SecCikMapFetcher from openbb_sec.models.company_filings import SecCompanyFilingsFetcher +from openbb_sec.models.equity_ftd import SecEquityFtdFetcher +from openbb_sec.models.equity_search import SecEquitySearchFetcher from openbb_sec.models.institutions_search import SecInstitutionsSearchFetcher from openbb_sec.models.rss_litigation import SecRssLitigationFetcher from openbb_sec.models.schema_files import SecSchemaFilesFetcher from openbb_sec.models.sic_search import SecSicSearchFetcher -from openbb_sec.models.stock_ftd import SecStockFtdFetcher -from openbb_sec.models.stock_search import SecStockSearchFetcher from openbb_sec.models.symbol_map import SecSymbolMapFetcher test_credentials = UserService().default_user_settings.credentials.dict() @@ -42,19 +42,19 @@ def test_sec_symbol_map_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_sec_stock_ftd_fetcher(credentials=test_credentials): +def test_sec_equity_ftd_fetcher(credentials=test_credentials): params = {"symbol": "AAPL", "limit": 1} - fetcher = SecStockFtdFetcher() + fetcher = SecEquityFtdFetcher() result = fetcher.test(params, credentials) assert result is None @pytest.mark.record_http -def test_sec_stock_search_fetcher(credentials=test_credentials): +def test_sec_equity_search_fetcher(credentials=test_credentials): params = {"query": "trust", "use_cache": False} - fetcher = SecStockSearchFetcher() + fetcher = SecEquitySearchFetcher() result = fetcher.test(params, credentials) assert result is None diff --git a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/upcoming_release_days.py b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/upcoming_release_days.py index 48d75f4670ed..8d710ba05fef 100644 --- a/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/upcoming_release_days.py +++ b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/models/upcoming_release_days.py @@ -9,10 +9,8 @@ UpcomingReleaseDaysData, UpcomingReleaseDaysQueryParams, ) -from pydantic import ( - Field, - field_validator, -) +from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS +from pydantic import Field, field_validator class SAUpcomingReleaseDaysQueryParams(UpcomingReleaseDaysQueryParams): @@ -21,6 +19,12 @@ class SAUpcomingReleaseDaysQueryParams(UpcomingReleaseDaysQueryParams): Source: https://seekingalpha.com/api/v3/earnings_calendar/tickers """ + limit: int = Field( + description=QUERY_DESCRIPTIONS.get("limit", "") + + "In this case, the number of lookahead days.", + default=10, + ) + class SAUpcomingReleaseDaysData(UpcomingReleaseDaysData): """Seeking Alpha Upcoming Release Days Data.""" @@ -49,16 +53,7 @@ class SAUpcomingReleaseDaysFetcher( @staticmethod def transform_query(params: Dict[str, Any]) -> SAUpcomingReleaseDaysQueryParams: """Transform the query.""" - transformed_params = params - - if params.get("start_date") is None: - transformed_params["start_date"] = datetime.now().date() - else: - transformed_params["start_date"] = datetime.strptime( - params["start_date"], "%Y-%m-%d" - ).date() - - return SAUpcomingReleaseDaysQueryParams(**transformed_params) + return SAUpcomingReleaseDaysQueryParams(**params) @staticmethod def extract_data( @@ -70,7 +65,7 @@ def extract_data( response = requests.get( url=( f"https://seekingalpha.com/api/v3/earnings_calendar/tickers?" - f"filter%5Bselected_date%5D={str(query.start_date)}" # cspell:disable-line + f"filter%5Bselected_date%5D={str(datetime.now().date())}" # cspell:disable-line f"&filter%5Bwith_rating%5D=false&filter%5Bcurrency%5D=USD" # cspell:disable-line ), timeout=5, diff --git a/openbb_platform/extensions/stocks/openbb_stocks/ins/__init__.py b/openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/py.typed similarity index 100% rename from openbb_platform/extensions/stocks/openbb_stocks/ins/__init__.py rename to openbb_platform/providers/seeking_alpha/openbb_seeking_alpha/py.typed diff --git a/openbb_platform/providers/seeking_alpha/tests/record/http/test_seeking_alpha_fetchers/test_sa_upcoming_release_days_fetcher.yaml b/openbb_platform/providers/seeking_alpha/tests/record/http/test_seeking_alpha_fetchers/test_sa_upcoming_release_days_fetcher.yaml index 4bb942efd17c..510af9913f61 100644 --- a/openbb_platform/providers/seeking_alpha/tests/record/http/test_seeking_alpha_fetchers/test_sa_upcoming_release_days_fetcher.yaml +++ b/openbb_platform/providers/seeking_alpha/tests/record/http/test_seeking_alpha_fetchers/test_sa_upcoming_release_days_fetcher.yaml @@ -5,128 +5,194 @@ interactions: Accept: - '*/*' Accept-Encoding: - - gzip, deflate, br + - gzip, deflate Connection: - keep-alive method: GET - uri: https://seekingalpha.com/api/v3/earnings_calendar/tickers?filter%5Bselected_date%5D=2023-11-03&filter%5Bwith_rating%5D=false&filter%5Bcurrency%5D=USD + uri: https://seekingalpha.com/api/v3/earnings_calendar/tickers?filter%5Bcurrency%5D=USD&filter%5Bselected_date%5D=MOCK_DATE&filter%5Bwith_rating%5D=false response: body: string: !!binary | - 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 headers: Accept-Ranges: - bytes Age: - - '42988' + - '21880' Allow: - GET, POST, HEAD, PUT, PATCH, DELETE, OPTIONS Cache-Control: @@ -136,16 +202,16 @@ interactions: Content-Encoding: - gzip Content-Length: - - '6187' + - '9949' Content-Security-Policy: - 'default-src https: wss: data: blob: ''unsafe-inline'' ''unsafe-eval''; report-uri https://seekingalpha.com/report/csp' Content-Type: - application/json; charset=utf-8 Date: - - Fri, 03 Nov 2023 14:18:52 GMT + - Thu, 09 Nov 2023 17:43:56 GMT ETag: - - W/"fc4753ff069f5e57089040d10c9f03d2" + - W/"737a1bbf695efa544b45db3f96c8c113" Referrer-Policy: - strict-origin-when-cross-origin Strict-Transport-Security: @@ -155,7 +221,7 @@ interactions: X-Cache: - HIT, HIT X-Cache-Hits: - - 2, 1 + - 4, 1 X-Content-Type-Options: - nosniff X-Download-Options: @@ -165,18 +231,18 @@ interactions: X-Permitted-Cross-Domain-Policies: - none X-Request-Id: - - PNDptpCPtnfEwvBL + - 6KuqekWy2HeAyTrW X-Runtime: - - '0.115387' + - '0.141511' X-Served-By: - - cache-bfi-krnt7300035-BFI, cache-vie6343-VIE + - cache-bfi-krnt7300051-BFI, cache-vie6380-VIE X-Timer: - - S1699021132.318072,VS0,VE1 + - S1699551837.656634,VS0,VE1 X-XSS-Protection: - 1; mode=block set-cookie: - - machine_cookie=7265336707429; expires=Thu, 02 Nov 2028 14:18:52 GMT; path=/; - - machine_cookie_ts=1699021132; expires=Thu, 02 Nov 2028 14:18:52 GMT; path=/; + - machine_cookie=5308334431016; expires=Wed, 08 Nov 2028 17:43:56 GMT; path=/; + - machine_cookie_ts=1699551836; expires=Wed, 08 Nov 2028 17:43:56 GMT; path=/; status: code: 200 message: OK diff --git a/openbb_platform/providers/seeking_alpha/tests/test_seeking_alpha_fetchers.py b/openbb_platform/providers/seeking_alpha/tests/test_seeking_alpha_fetchers.py index 8905ca0a4e13..fb89a5e02992 100644 --- a/openbb_platform/providers/seeking_alpha/tests/test_seeking_alpha_fetchers.py +++ b/openbb_platform/providers/seeking_alpha/tests/test_seeking_alpha_fetchers.py @@ -13,12 +13,15 @@ def vcr_config(): return { "filter_headers": [("User-Agent", None)], + "filter_query_parameters": [ + ("filter[selected_date]", "MOCK_DATE"), + ], } @pytest.mark.record_http def test_sa_upcoming_release_days_fetcher(credentials=test_credentials): - params = {"start_date": "2023-11-03", "limit": 5} + params = {"limit": 5} fetcher = SAUpcomingReleaseDaysFetcher() result = fetcher.test(params, credentials) diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py b/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py index 017e1d78436f..de64069a266e 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py @@ -10,6 +10,7 @@ from openbb_yfinance.models.company_news import YFinanceCompanyNewsFetcher from openbb_yfinance.models.crypto_historical import YFinanceCryptoHistoricalFetcher from openbb_yfinance.models.currency_historical import YFinanceCurrencyHistoricalFetcher +from openbb_yfinance.models.equity_historical import YFinanceEquityHistoricalFetcher from openbb_yfinance.models.etf_historical import YFinanceEtfHistoricalFetcher from openbb_yfinance.models.futures_curve import YFinanceFuturesCurveFetcher from openbb_yfinance.models.futures_historical import YFinanceFuturesHistoricalFetcher @@ -20,7 +21,6 @@ from openbb_yfinance.models.major_indices_historical import ( YFinanceMajorIndicesHistoricalFetcher, ) -from openbb_yfinance.models.stock_historical import YFinanceStockHistoricalFetcher from openbb_yfinance.models.undervalued_growth_equities import ( YFUndervaluedGrowthEquitiesFetcher, ) @@ -42,8 +42,9 @@ "EquityActive": YFActiveFetcher, "EquityAggressiveSmallCaps": YFAggressiveSmallCapsFetcher, "EquityGainers": YFGainersFetcher, + "EquityHistorical": YFinanceEquityHistoricalFetcher, "EquityLosers": YFLosersFetcher, - "EquityUndervaluedGrowthEquities": YFUndervaluedGrowthEquitiesFetcher, + "EquityUndervaluedGrowth": YFUndervaluedGrowthEquitiesFetcher, "EquityUndervaluedLargeCaps": YFUndervaluedLargeCapsFetcher, "EtfHistorical": YFinanceEtfHistoricalFetcher, "FuturesCurve": YFinanceFuturesCurveFetcher, @@ -51,6 +52,5 @@ "GrowthTechEquities": YFGrowthTechEquitiesFetcher, "IncomeStatement": YFinanceIncomeStatementFetcher, "MajorIndicesHistorical": YFinanceMajorIndicesHistoricalFetcher, - "StockHistorical": YFinanceStockHistoricalFetcher, }, ) diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/stock_historical.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py similarity index 83% rename from openbb_platform/providers/yfinance/openbb_yfinance/models/stock_historical.py rename to openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py index b96be950794b..733e181f347e 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/stock_historical.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py @@ -1,4 +1,4 @@ -"""yfinance Stock End of Day fetcher.""" +"""yfinance Equity Historical Price.""" # ruff: noqa: SIM105 from datetime import datetime, timedelta @@ -6,9 +6,9 @@ from dateutil.relativedelta import relativedelta from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.stock_historical import ( - StockHistoricalData, - StockHistoricalQueryParams, +from openbb_provider.standard_models.equity_historical import ( + EquityHistoricalData, + EquityHistoricalQueryParams, ) from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS from openbb_provider.utils.errors import EmptyDataError @@ -18,7 +18,7 @@ from pydantic import Field, PrivateAttr, field_validator -class YFinanceStockHistoricalQueryParams(StockHistoricalQueryParams): +class YFinanceEquityHistoricalQueryParams(EquityHistoricalQueryParams): """YFinance Stock End of Day Query. Source: https://finance.yahoo.com/ @@ -69,7 +69,7 @@ class YFinanceStockHistoricalQueryParams(StockHistoricalQueryParams): _group_by: Literal["ticker", "column"] = PrivateAttr(default="ticker") -class YFinanceStockHistoricalData(StockHistoricalData): +class YFinanceEquityHistoricalData(EquityHistoricalData): """YFinance Stock End of Day Data.""" @field_validator("date", mode="before", check_fields=False) @@ -80,16 +80,16 @@ def date_validate(cls, v): # pylint: disable=E0213 return v -class YFinanceStockHistoricalFetcher( +class YFinanceEquityHistoricalFetcher( Fetcher[ - YFinanceStockHistoricalQueryParams, - List[YFinanceStockHistoricalData], + YFinanceEquityHistoricalQueryParams, + List[YFinanceEquityHistoricalData], ] ): """Transform the query, extract and transform the data from the yfinance endpoints.""" @staticmethod - def transform_query(params: Dict[str, Any]) -> YFinanceStockHistoricalQueryParams: + def transform_query(params: Dict[str, Any]) -> YFinanceEquityHistoricalQueryParams: """Transform the query.""" transformed_params = params now = datetime.now().date() @@ -100,11 +100,12 @@ def transform_query(params: Dict[str, Any]) -> YFinanceStockHistoricalQueryParam if params.get("end_date") is None: transformed_params["end_date"] = now - return YFinanceStockHistoricalQueryParams(**params) + return YFinanceEquityHistoricalQueryParams(**params) @staticmethod def extract_data( - query: YFinanceStockHistoricalQueryParams, + query: YFinanceEquityHistoricalQueryParams, # pylint: disable=unused-argument + credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: """Return the raw data from the yfinance endpoint.""" @@ -115,6 +116,7 @@ def extract_data( elif query.interval == "3M": query.interval = "3mo" + # pylint: disable=protected-access data = yf_download( symbol=query.symbol, start_date=query.start_date, @@ -164,10 +166,9 @@ def extract_data( @staticmethod def transform_data( - query: YFinanceStockHistoricalQueryParams, + query: YFinanceEquityHistoricalQueryParams, data: List[Dict], **kwargs: Any, - ) -> List[YFinanceStockHistoricalData]: + ) -> List[YFinanceEquityHistoricalData]: """Transform the data to the standard format.""" - - return [YFinanceStockHistoricalData.model_validate(d) for d in data] + return [YFinanceEquityHistoricalData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_stock_historical_fetcher.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_equity_historical_fetcher.yaml similarity index 100% rename from openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_stock_historical_fetcher.yaml rename to openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_equity_historical_fetcher.yaml diff --git a/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py b/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py index c59c60b673e2..4cc3f40a4606 100644 --- a/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py +++ b/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py @@ -10,6 +10,7 @@ from openbb_yfinance.models.company_news import YFinanceCompanyNewsFetcher from openbb_yfinance.models.crypto_historical import YFinanceCryptoHistoricalFetcher from openbb_yfinance.models.currency_historical import YFinanceCurrencyHistoricalFetcher +from openbb_yfinance.models.equity_historical import YFinanceEquityHistoricalFetcher from openbb_yfinance.models.etf_historical import YFinanceEtfHistoricalFetcher from openbb_yfinance.models.futures_curve import YFinanceFuturesCurveFetcher from openbb_yfinance.models.futures_historical import YFinanceFuturesHistoricalFetcher @@ -20,7 +21,6 @@ from openbb_yfinance.models.major_indices_historical import ( YFinanceMajorIndicesHistoricalFetcher, ) -from openbb_yfinance.models.stock_historical import YFinanceStockHistoricalFetcher from openbb_yfinance.models.undervalued_growth_equities import ( YFUndervaluedGrowthEquitiesFetcher, ) @@ -82,7 +82,7 @@ def test_y_finance_major_indices_historical_fetcher(credentials=test_credentials @pytest.mark.record_http -def test_y_finance_stock_historical_fetcher(credentials=test_credentials): +def test_y_finance_equity_historical_fetcher(credentials=test_credentials): params = { "symbol": "AAPL", "start_date": date(2023, 1, 1), @@ -90,7 +90,7 @@ def test_y_finance_stock_historical_fetcher(credentials=test_credentials): "interval": "1d", } - fetcher = YFinanceStockHistoricalFetcher() + fetcher = YFinanceEquityHistoricalFetcher() result = fetcher.test(params, credentials) assert result is None